Monday, February 03, 2020

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)

1 comment:

Anonymous said...

Nice short article. Clipped it for referral.

Installing QNX 6.4.1 on Ubuntu 20.04

Installing QNX 6.4.1 on Ubuntu 20.04 Install pre-requisites $: sudo dpkg --add-architecture i386 $: sudo apt update $: sudo apt install li...