Vim – Vi Improved, a Programmers Text Editor

Total Page:16

File Type:pdf, Size:1020Kb

Vim – Vi Improved, a Programmers Text Editor Introduction Getting started with vim Tasks Search and replace Configuration vim { Vi IMproved, a programmers text editor Bart Van Loon 31st January 2012 1 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Getting started with vim Tasks Search and replace Configuration 1 Introduction 2 Getting started with vim Introduction Starting and quitting The cursor Editing text 3 Tasks 4 Search and replace 5 Configuration 2 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Getting started with vim Tasks Search and replace Configuration How it all began: vi A part of history I text editor originally created for UNIX I old: first release in 1976 (Open Source: BSD license) I but modern: 2009 survey by Linux Journal ! vi[m] most widely used text editor (36%); second place: gedit (19%) 3 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Getting started with vim Tasks Search and replace Configuration How it all began: vi Modal editor I vi is a modal editor: insert mode: typed text becomes part of the document normal mode: keystrokes are interpreted as commands I i in normal mode: switch to insert mode; i again at this point: place an \i" character in the document I esc in insert mode: switch to normal mode I advantage: both text editing and command operations without requiring removal of hands from the home row ) speed! 4 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Getting started with vim Tasks Search and replace Configuration How it all began: vi It breaks my fingers! Many ideas, shortcuts, keystrokes, . can be explained by looking at a common computer keyboard from the seventies. 5 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Getting started with vim Tasks Search and replace Configuration How it all began: vi Contemporary derivatives and clones vi: traditional vi ported to modern systems vim: (\Vi IMproved") vi with many more features elvis: once popular clone with some extra features nvi: default derivative shipped with all BSDs vile: attempt to mix emacs and vi ... 6 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration vim Introduction I first released publicly in 1991 (Open Source charityware) I still actively developed and maintained I cross platform I additional features specifically designed for editing source code I customisable through plugins and vimscript I described as \very much compatible with vi", but not 100% I huge community constantly at war with the emacs-community 7 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration vim Sooooooo many features completion, comparison and merging of files, comprehensive integrated help system, extended regular expressions, scripting languages (both native and through alternative scripting interpreters such as Perl, Python, Ruby, Tcl, etc. ) including support for plugins, a graphical user interface, limited integrated development environment-like features, mouse interaction (both with and without the GUI), folding, editing of compressed or archived files in gzip, bzip2, zip, and tar format and files over network protocols such as SSH, FTP, and HTTP, session state preservation, spell checking, split (horizontal and vertical) and tabbed windows, unicode and other multi-language support, syntax highlighting, trans-session command, search and cursor position histories, multiple level undo/redo history which can persist across editing sessions, visual mode, . 8 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Getting started Starting vim I vim; or I vim <filename>; or I vim [options] <filename> One useful option is +<n>, which opens the file and immediately puts the cursor on line <n>. 9 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Getting started Modes I by default you start in normal mode I go to insert mode from normal mode type i to start entering text at the cursor type R to start replacing text at the cursor type o to open a new line at the cursor type O to open a new line above the cursor I hit esc to enter normal mode 10 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Getting started Exiting vim I commands to quit: : x - : save and quit : q - : just quit : q ! - : force quit (without saving!) I shortcut from normal mode: Z Z : quit and save only if changes were made 11 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Moving the cursor Relative movements: h : one character left j : one line down k : one line up l : one character right w : one word forward b : one word back Adding a digit multiplies the movement. Try 5 w , 1 2 k , 2 b ,... 12 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Moving the cursor Absolute movements in the file: ^ or 0 : beginning of the line $ : end of the line g g : beginning of the file G : end of the file <d> G : line <d> ` . : your last edit 13 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Moving the cursor Absolute movements in the screen (visible area): H : highest line on the screen M : middle line on the screen L : lowest line on the screen ctrl-f : page (screen) forward ctrl-b : page (screen) backward 14 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Editing text Inserting text: i : insert text at the cursor a : insert text after the cursor (append) I : insert text at the beginning of the line A : insert text at the end of the line In insert mode, you can use the arrow keys to navigate the cursor, but often going back to normal mode will be much faster. 15 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Editing text Deleting text: x : delete character at the cursor (delete) X : delete character before the cursor (backspace) Replacing text: r <c> : replace the current character with <c> 16 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Visual mode For selecting areas of text, there is visual mode: v : start visual mode V : start visual line mode ctrl-v : start visual block mode 17 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Operators and motions Example operators: d : delete y : yank (copy) c : change Example motions1: $ : to end of line G : to end of file e : to end of current word 1remember the part on \moving your cursor"? 18 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Combining operators and motions Combining operators and motions generates some really powerful commands. Some examples are: y $ : copy from the cursor until the end of the line d g g : delete from the cursor until the beginning of the file Now lets add counts to increase the power: y 3 k : copy the previous 3 lines d 5 w : delete the next 5 words 19 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration More power Another nice operator: = : fix indenting Some other nice motions: ( : to the beginning of the current sentence ) : to the beginning of the next sentence % : to the matching bracket, parenthesis, braces, . 20 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration Double operators When entering an operator twice, it operates on the complete current line: d d : delete the current line y y : copy the current line ... 21 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Introduction Getting started with vim Starting and quitting Tasks The cursor Search and replace Editing text Configuration The put command To paste previously deleted or yanked (copied) text: p : put (paste) after the cursor P : put (paste) before the cursor Some nice usage examples: x p : swap the current character with the next one d d p : swap the current line with the next one 5 p : paste 5 times after the cursor 22 / 30 Bart Van Loon vim { Vi IMproved, a programmers text editor Introduction Getting started with vim Tasks Search and replace Configuration Repeating tasks Undo and redo: You can think of each command (combined or not) as a task.
Recommended publications
  • Oracle Database Licensing Information, 11G Release 2 (11.2) E10594-26
    Oracle® Database Licensing Information 11g Release 2 (11.2) E10594-26 July 2012 Oracle Database Licensing Information, 11g Release 2 (11.2) E10594-26 Copyright © 2004, 2012, Oracle and/or its affiliates. All rights reserved. Contributor: Manmeet Ahluwalia, Penny Avril, Charlie Berger, Michelle Bird, Carolyn Bruse, Rich Buchheim, Sandra Cheevers, Leo Cloutier, Bud Endress, Prabhaker Gongloor, Kevin Jernigan, Anil Khilani, Mughees Minhas, Trish McGonigle, Dennis MacNeil, Paul Narth, Anu Natarajan, Paul Needham, Martin Pena, Jill Robinson, Mark Townsend This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.
    [Show full text]
  • UNIX Essentials (Hands-On)
    UNIX essentials (hands-on) • the directory tree • running programs • the shell (using the T-shell) → command line processing → special characters → command types → shell variables → environment variables → wildcards → shell scripts → shell commands → pipes and redirection • OS commands • special files 1 • The Directory Tree → directories contain files and/or directories → / : means either the root directory, or a directory separator • consider /home/afniuser/AFNI_data3 afniuser/suma_demo → an "absolute" pathname begins with '/', a "relative" pathname does not • a relative pathname depends on where you start from • in the directories above, note which is a relative pathname → every directory has a parent directory • the relative pathname for the parent directory is '..' • the relative pathname for the current directory is '.' • consider './run_this_script' and '/bin/ls ../../suma_demo' → many commands can be used to return to the home directory (of "afniuser") • cd, cd ~, cd ~afniuser, cd $HOME, cd /home/afniuser • note the 2 special characters, '~' and '$' → while you work, keep your location within the directory tree in mind 2 → class work: • open a terminal window • commands: cd, pwd, ls, ls -al • use the "cd" command to go to the given directories e.g. for directory /usr/bin, use the command: cd /usr/bin once there, use the commands "pwd", "ls", and "ls -al" note that you can always return to the home directory via: cd / home/afniuser AFNI_data3 .. AFNI_data3/afni /usr/bin ~/abin ../../afniuser/../afniuser • first example (starting with the '/'directory), use the commands: cd / pwd ls ls -al 3 • Running Programs → a program is something that gets "executed", or "run" → the first element of a command line is generally a program (followed by a space) → most shells are case sensitive when processing a command → command examples: /bin/ls $HOME ~/AFNI_data3 count -digits 2 1 10 → script: an interpreted program (interpreted by another program) • e.g.
    [Show full text]
  • Freebsd and Netbsd on Small X86 Based Systems
    FreeBSD and NetBSD on Small x86 Based Systems Dr. Adrian Steinmann <[email protected]> Asia BSD Conference in Tokyo, Japan March 17th, 2011 1 Introduction Who am I? • Ph.D. in Mathematical Physics (long time ago) • Webgroup Consulting AG (now) • IT Consulting Open Source, Security, Perl • FreeBSD since version 1.0 (1993) • NetBSD since version 3.0 (2005) • Traveling, Sculpting, Go AsiaBSDCon Tutorial March 17, 2011 in Tokyo, Japan “Installing and Running FreeBSD and NetBSD on Small x86 Based Systems” Dr. Adrian Steinmann <[email protected]> 2 Focus on Installing and Running FreeBSD and NetBSD on Compact Flash Systems (1) Overview of suitable SW for small x86 based systems with compact flash (CF) (2) Live CD / USB dists to try out and bootstrap onto a CF (3) Overview of HW for small x86 systems (4) Installation strategies: what needs special attention when doing installations to CF (5) Building your own custom Install/Maintenance RAMdisk AsiaBSDCon Tutorial March 17, 2011 in Tokyo, Japan “Installing and Running FreeBSD and NetBSD on Small x86 Based Systems” Dr. Adrian Steinmann <[email protected]> 3 FreeBSD for Small HW Many choices! – Too many? • PicoBSD / TinyBSD • miniBSD & m0n0wall • pfSense • FreeBSD livefs, memstick • NanoBSD • STYX. Others: druidbsd, Beastiebox, Cauldron Project, ... AsiaBSDCon Tutorial March 17, 2011 in Tokyo, Japan “Installing and Running FreeBSD and NetBSD on Small x86 Based Systems” Dr. Adrian Steinmann <[email protected]> 4 PicoBSD & miniBSD • PicoBSD (1998): Initial import into src/release/picobsd/ by Andrzej Bialecki <[email protected]
    [Show full text]
  • Recompiling Minix
    8 RECOMPILING MINIX This chapter is intended for those readers who wish to modify MINIX or its utili- ties. In the following pages we will tell what the various files do and howthe pieces are put together to form the whole. It should be emphasized that if you simply intend to use MINIX as distributed, then you do not have torecompile the system and you do not have toread this chapter.Howev er, ifyou want to makechanges to the core of the operating system itself, for example, to add a device driverfor a streamer tape, then you should read this chapter. 8.1. REBUILDING MINIX ON THE IBM PC Although this section is specifically for IBM PC users, it should also be read carefully by everyone interested in recompiling MINIX.Most of what is said here applies to all versions of MINIX.The sections about other processors mostly discuss the differences between recompiling MINIX on an IBM PC and on another system. The MINIX sources are contained in the following directories, normally all subdi- rectories of /usr/src except for include which goes in /usr/include: center allbox; l l. Directory Contents include The headers used by the SEC. 8.1 REBUILDING MINIX ON THE IBM PC 113 commands (has twosubdirectories) kernel Process, message, and I/O device handling mm The memory manager fs The file system tools Miscellaneous tools and utilities test Test programs lib Libraries (has several subdirectories) commands The utility programs (has manysubdirectories) Some of the directories contain subdirectories. If you are working on a hard disk, be sure that all these directories have been set up, and all files copied there from the dis- tribution diskettes and decompressed and dearchived.
    [Show full text]
  • Minimal Perl for UNIX and Linux People
    Minimal Perl For UNIX and Linux People BY TIM MAHER MANNING Greenwich (74° w. long.) For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact: Special Sales Department Manning Publications Co. Cherokee Station PO Box 20386 Fax: (609) 877-8256 New York, NY 10021 email: [email protected] ©2007 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Manning Publications Co. Copyeditor: Tiffany Taylor 209 Bruce Park Avenue Typesetters: Denis Dalinnik, Dottie Marsico Greenwich, CT 06830 Cover designer: Leslie Haimes ISBN 1-932394-50-8 Printed in the United States of America 12345678910–VHG–1009080706 To Yeshe Dolma Sherpa, whose fortitude, endurance, and many sacrifices made this book possible. To my parents, Gloria Grady Washington and William N. Maher, who indulged my early interests in literature. To my limbic system, with gratitude for all the good times we’ve had together.
    [Show full text]
  • April 2006 Volume 31 Number 2
    APRIL 2006 VOLUME 31 NUMBER 2 THE USENIX MAGAZINE OPINION Musings RIK FARROW OpenSolaris:The Model TOM HAYNES PROGRAMMING Code Testing and Its Role in Teaching BRIAN KERNIGHAN Modular System Programming in MINIX 3 JORRIT N. HERDER, HERBERT BOS, BEN GRAS, PHILIP HOMBURG, AND ANDREW S. TANENBAUM Some Types of Memory Are More Equal Than Others DIOMEDIS SPINELLIS Simple Software Flow Analysis Using GNU Cflow CHAOS GOLUBITSKY Why You Should Use Ruby LU KE KANIES SYSADMIN Unwanted HTTP:Who Has the Time? DAVI D MALONE Auditing Superuser Usage RANDOLPH LANGLEY C OLUMNS Practical Perl Tools:Programming, Ho Hum DAVID BLANK-EDELMAN VoIP Watch HEISON CHAK /dev/random ROBERT G. FERRELL STANDARDS USENIX Standards Activities NICHOLAS M. STOUGHTON B O OK REVIEWS Book Reviews ELIZABETH ZWICKY, WITH SAM STOVER AND RI K FARROW USENIX NOTES Letter to the Editor TED DOLOTTA Fund to Establish the John Lions Chair C ONFERENCES LISA ’05:The 19th Large Installation System Administration Conference WORLDS ’05: Second Workshop on Real, Large Distributed Systems FAST ’05: 4th USENIX Conference on File and Storage Technologies The Advanced Computing Systems Association Upcoming Events 3RD SYMPOSIUM ON NETWORKED SYSTEMS 2ND STEPS TO REDUCING UNWANTED TRAFFIC ON DESIGN AND IMPLEMENTATION (NSDI ’06) THE INTERNET WORKSHOP (SRUTI ’06) Sponsored by USENIX, in cooperation with ACM SIGCOMM JULY 6–7, 2006, SAN JOSE, CA, USA and ACM SIGOPS http://www.usenix.org/sruti06 MAY 8–10, 2006, SAN JOSE, CA, USA Paper submissions due: April 20, 2006 http://www.usenix.org/nsdi06 2006
    [Show full text]
  • Linux Programming
    Linux & Shell Programming By High School Technology Services myhsts.org Session 3 Contents Text Editing Types of Editors Basic Editor Tasks with vi Editing Multiple Files Set Commands vi Startup File Types of Editors ed is a line editor for the Unix operating system. It was one of the first parts of the Unix operating system that was developed, in August 1969. Elvis is a vi/ex clone, i.e. it closely resembles the Unix text editor "vi", but adds quite a few commands and features. Elvis is written by Steve Kirkendall and is distributed under the Clarified Artistic License which is used by Perl and is a GPL-compatible free software license. Editing files using the screen-oriented text editor vi is one of the best ways. This editor enables you to edit lines in context with other lines in the file. An improved version of the vi editor which is called the VIM has also been made available now. Here, VIM stands for Vi Improved vi is generally considered the de facto standard in Unix editors because − It's usually available on all the flavors of Unix system. Its implementations are very similar across the board. It requires very few resources. It is more user-friendly than other editors such as the ed or the ex. Basic Editor Tasks with vi Basic Editor Tasks with vi Following is an example to create a new file testfile if it already does not exist in the current working directory − Basic Editor Tasks with vi Operation Modes While working with the vi editor, we usually come across the following two modes − Command mode − This mode enables you to perform administrative tasks such as saving the files, executing the commands, moving the cursor, cutting (yanking) and pasting the lines or words, as well as finding and replacing.
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Reference Manual for the Minix 1.5 Demonstration Disk
    REFERENCE MANUAL FOR THE MINIX 1.5 DEMONSTRATION DISK ANDREW S. TANENBAUM Prentice Hall, Inc 2 Copyright 1991 Prentice Hall, Inc. 1 1 INTRODUCTION Every computer needs an operating system to manage its memory, control its I/O devices, implement its ®le system and provide an interface to its users. Many operating systems exist, such as MS-DOS, OS/2, and UNIX. This manual provides a very brief introduction to another operating system, MINIX. It is intended to accom- pany the MINIX demonstration diskette. Although MINIX was inspired by the well-known AT&T UNIX operating system, its design and implementation are completely new. It does not contain even a single line of AT&T code: not in the operating system, not in the C compiler, and not in any of the nearly 200 utility programs supplied with MINIX. For this reason, it is possible to include not only all the binary programs, but, virtually all the source code of the operating system and utilities as well. In this way, people can study MINIX in detail to learn how a modern operating system is constructed, and can also modify it to suit their own tastes if need be. Before getting started, we would like to point out that this manual and the accompanying demonstration diskette only deal with a tiny fraction of MINIX, just to give the ¯avor of the system. If your favorite feature (e.g., the Berkeley vi edi- tor) is not present here, that does not mean that it is also absent from the full sys- tem.
    [Show full text]
  • Ebook Download Learning the Vi and Vim Editors
    LEARNING THE VI AND VIM EDITORS PDF, EPUB, EBOOK Arnold Robbins,Elbert Hannah,Linda Lamb | 494 pages | 29 Jul 2008 | O'Reilly Media, Inc, USA | 9780596529833 | English | Sebastopol, United States Learning the vi and Vim Editors PDF Book Help us improve. Jul 27, James rated it it was amazing Shelves: reference , general-science-math-technology , computers. Understanding few simple, yet highly unintuitive, commands can make you functional when reading and manipulate files like INIs, Logs, etc. View Product. It's the shell that unlocks the real potential of Unix. The appendices are exceptionally helpful. Want to Read saving…. He loves connecting Unix to anything and once wrote a stream editor program to automate JCL edits for mainframe monthly configurations by streaming mainframeJCL to a stream editor on an RJE connected Unix box. Aug 23, Eric rated it really liked it. Takes you through several editors vi, ex, Darrell, other clones. This is probably the most complete VIM book on the market, which can be used both as cover-to-cover read or as a reference. No trivia or quizzes yet. I'm just saying. Author Recent Posts. Vim, however, is not a text formatting program; rather, it is a sophisticated text editor primarily used to write code, short notes, and input to a text formatting system. Latest posts by Sagar Khillar see all. Accessible to vim newbies and easy to navigate. Because I was reading on an ebook, the other egregious problem was a huge chunk of the book devoted to vile, kyle, elvis, and other weird vi-clones, none of which r Definitely showing its age; the first third of the book exclusively discusses vi not vim , to the extent that a lot of it becomes superceded by the rest of the book.
    [Show full text]
  • 3.1 What Is the Restaurant Game?
    Learning Plan Networks in Conversational Video Games by Jeffrey David Orkin B.S., Tufts University (1995) M.S., University of Washington (2003) Submitted-to the Program in Media Arts and Sciences in partial fulfillment of the requirements for the degree of Master of Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY August 2007 © Massachusetts Institute of Technology 2007. All rights reserved. A uthor ........................... .............. Program in Media Arts and Sciences August 13, 2007 C ertified by ...................................... Associate Professor Thesis Supervisor Accepted by................................... Deb Roy 1 6lsimnhairperson, Departmental Committee on Graduate Students QF TECHNOLOGY SEP 14 2007 ROTCH LIBRARIES 2 Learning Plan Networks in Conversational Video Games by Jeffrey David Orkin Submitted to the Program in Media Arts and Sciences on August 13, 2007, in partial fulfillment of the requirements for the degree of Master of Science Abstract We look forward to a future where robots collaborate with humans in the home and workplace, and virtual agents collaborate with humans in games and training simulations. A representation of common ground for everyday scenarios is essential for these agents if they are to be effective collaborators and communicators. Effective collaborators can infer a partner's goals and predict future actions. Effective communicators can infer the meaning of utterances based on semantic context. This thesis introduces a computational cognitive model of common ground called a Plan Network. A Plan Network is a statistical model that provides representations of social roles, object affordances, and expected patterns of behavior and language. I describe a methodology for unsupervised learning of a Plan Network using a multiplayer video game, visualization of this network, and evaluation of the learned model with respect to human judgment of typical behavior.
    [Show full text]
  • Linux Information Sheet Linux Information Sheet
    Linux Information Sheet Linux Information Sheet Table of Contents Linux Information Sheet....................................................................................................................................1 Michael K. Johnson <[email protected]>.......................................................................................1 1.Introduction to Linux............................................................................................................................1 2.Linux Features......................................................................................................................................1 3.Hardware Issues....................................................................................................................................1 4.An Incomplete List of Ported Programs and Other Software...............................................................1 5.Who uses Linux?...................................................................................................................................1 6.Getting Linux........................................................................................................................................1 7.Legal Status of Linux............................................................................................................................2 8.News About Linux................................................................................................................................2 9.The Future.............................................................................................................................................2
    [Show full text]