Skip to main content

VI Editor common operations

My commonly used vi shortcut keys:

CommandActionNotes
Basic operations
:qQuit VIThis will exit VI editor
:q!Force quitThis will exit VI editor even if buffers are dirty
:wSave current bufferSave currently active buffer
:e <ENTER>Reload current buffer from file
:e /path/to/fileLoad /path/to/file to a buffer
General
:set nowrapDon't wrap text
:set numberShow line number
:set nuShow line number (short hand)
:set nonumberHide line number
:set nu!Hide line number (short hand)
Text Operations
vStart Visual Mode(for copying)
yYank/copy selected text
yyCopy line
2yCopy 2 lines from the cursor
pPaste _after_ the current line
PPaste _before_ the current line
xDelete char under the cursor
dwDelete the word under the cursorThis will also delete the space after it
3dwDelete 3 wordsThis will also delete the space after it
ddDelete lineDeletes the entire line
Navigation
0Jump to beginning of line
$Jump to end of line
w(count)Move to beginning of the word
bMove to the beginning of the word
eMove to the end of the word (punctuation considered part of the word)
geJump to previous word ending
gEJump to previous word ending, ignore punctuation
ggStart of file
GEnd of file
21GGo to line 22
Search and Replace
/{string}{ENTER}Search for string
:%s/foo/bar/gSearch for foo and replace with bar in the current buffer
Merging
Note** run vimdiff file1 file2
]cJump to the next difference
[cJump to the previous difference
doCopy line diff from _right_ buffer to the _left_ buffer
dpCopy line diff from _left_ buffer to the _right_ buffer
Buffer operations
:bdDelete current buffer
:bnextMove to next buffer
:bpreviousMove to previous buffer
:b <tab>Tab select buffers
:lsList buffers (or :buffers or :files)
:ls <CR> :bxList buffers and then select buffer "x"
Multiple Windows
C-w C-wMove cursor to another window (cycle). Useful with NerdTree

Tutorials
VIM Introduction and Tutorial (link)
VI Cheat Sheet (link)
VIM Tips (link)
Code Merging with VIM (link)
VIM Tips and Tricks (cs.oberline.edu)

Comments

Anonymous said…
Nice short article. Clipped it for referral.

Popular posts from this blog

The following add-ins could not be started MonoDevelop.GnomePlatform

Installing MonoDevelop in OpenSUSE 12.2 from its repository was very easy. When running it for the first time though I got the message: The following add-ins could not be started: The root of the trace shows MonoDevelop.GnomePlatform,2.8 A quick search shows that MonoDevelop depends on libgnomeui . This should have been part of dependencies when installing the application but well.... Below is the screen shot of the error message. References: http://software.1713.n2.nabble.com/MonoDevelop-and-openSUSE-12-1-td7462957.html [2013/04/09] - Same issue observed in OpenSUSE 12.3 and also the same fix. [2014/11/02] - Same issue observed in OpenSUSE 13.3, mondevelop 3.0.6 and the same fix.

Error! Could not locate dkms.conf file install VirtualBox 4.1.8 on Ubuntu 11.10

Tried to update my Ubuntu host today and it did pickup that new version of VirtualBox is available (4.1.8). All other packages installed properly except that VirtualBox installation was complaining about missing dkms.conf file, see error message below. $: sudo /etc/init.d/vboxdrv setup * Stopping VirtualBox kernel modules [ OK ] * Uninstalling old VirtualBox DKMS kernel modules Error! Could not locate dkms.conf file. File: does not exist. [ OK ] * Trying to register the VirtualBox kernel modules using DKMS [ OK ] * Starting VirtualBox kernel modules [ OK ] Though it looks like installation was fine but I am concerned about its effects to VirtualBox functionality. To fix this, do: $: cd /var/lib/dkms/vboxhost $: sudo rm -r 4.1.4 $: sudo /etc/init.d/vboxdrv setup Of course you have to re