Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| computer:software:cheatsheets:vim [2026/09/05 17:54] – admin | computer:software:cheatsheets:vim [2026/09/06 17:43] (current) – [Line Numbers] neotek | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== Vi / Vim Cheatsheet | + | ===== Vi / Vim ===== |
| ==== Open Files, save and exit ==== | ==== Open Files, save and exit ==== | ||
| Line 12: | Line 12: | ||
| ==== Grammar ==== | ==== Grammar ==== | ||
| + | === Navigation === | ||
| + | < | ||
| + | h # cursor left | ||
| + | j # cursor down | ||
| + | k # cursor up | ||
| + | l # cursor right | ||
| + | 0 # (zero) move to beginning of the line | ||
| + | $ # move to the end of the line | ||
| + | w # move to the beginning of the next word | ||
| + | } # skip to next section | ||
| + | H # Jump to the beginning of the displayed screen | ||
| + | M # Jump to the center of the displayed screen | ||
| + | L # Jump to the bottommost line shown | ||
| + | CTRL-f | ||
| + | CTRL-b | ||
| + | CTRL-d | ||
| + | CTRL-u | ||
| + | gj # For very long lines that wrap at the screen edge, jump up one line. | ||
| + | gk # For very long lines that wrap at the screen edge, jump down one line. | ||
| + | % # Jump to the next bracket character (){}[] | ||
| + | </ | ||
| + | === Edit === | ||
| < | < | ||
| - | h | + | i # insert at cursor |
| - | j | + | a # add after cursor |
| - | k | + | o # insert a line below |
| - | l | + | O # insert a line above |
| - | 0 | + | 12i < |
| - | $ | + | y # yank text (copy) |
| - | w | + | d # delete |
| - | } | + | dt' |
| - | H | + | df' |
| - | M | + | c # copy line |
| - | L | + | y$ # copy to the end of the line (yank) |
| - | CTRL-f | + | y5l # yank five Characters from the cursor position |
| - | CTRL-b | + | yt( # copy everything |
| - | CTRL-d | + | d2w # |
| - | CTRL-u # Jump up halve a page | + | c2j # change the next two lines |
| - | gj # For very long lines that wrap at the screen edge, jump up one line. | + | :undo or u |
| - | gk # For very long lines that wrap at the screen edge, jump down one line. | + | :redo or CTRL-R |
| - | % # Jump to the next bracket character (){}[] | + | |
| </ | </ | ||
| + | |||
| + | ==== complex editing ==== | ||
| + | === Commenting 1 === | ||
| + | < | ||
| + | CTRL-q | ||
| + | SHIFT-i | ||
| + | # type '#' | ||
| + | ESC Press ESC | ||
| + | </ | ||
| + | |||
| + | === Commenting 2 === | ||
| + | Add '# ' in the beginning of line 5 to 12 | ||
| + | < | ||
| + | :5,12s/^/# / | ||
| + | </ | ||
| + | |||
| + | === Uncomment 1 === | ||
| + | < | ||
| + | CTRL-q | ||
| + | q press q | ||
| + | </ | ||
| + | |||
| + | === Uncomment 2 === | ||
| + | remove '# ' from the beginning of line 5 to 12 | ||
| + | < | ||
| + | :5,12s/^# // | ||
| + | </ | ||
| + | |||
| + | ==== Split window ==== | ||
| + | < | ||
| + | $ vi file1.txt | ||
| + | :split file2.txt | ||
| + | :q # close file2.txt | ||
| + | :vsplit file2.txt | ||
| + | :CTRL-w l # change to the right window | ||
| + | :CTRL-w h # change to the left window | ||
| + | :CTRL-w j # change to the bottom window | ||
| + | :CTRL-w k # change to the top window | ||
| + | </ | ||
| + | |||
| + | ==== Line Numbers ==== | ||
| + | < | ||
| + | :set nu # show line numbers | ||
| + | :set nonu # hide line numbers | ||
| + | :set ruler # show horizontal and vertical cursor position at the bottom right of the terminal | ||
| + | :set rnu # show relative line numbers | ||
| + | :set nornu # hide relative line numbers | ||
| + | </ | ||
| + | |||
| + | ==== .vimrc example file ==== | ||
| + | < | ||
| + | set hidden | ||
| + | set ruler | ||
| + | set tabstop=4 | ||
| + | set mouse=r | ||
| + | set number | ||
| + | set relativenumber | ||
| + | set relativenumber number | ||
| + | set ruler | ||
| + | set nocp | ||
| + | filetype plugin on | ||
| + | set background=dark | ||
| + | hi Comment cterm=italic ctermfg=69 gui=italic guifg=# | ||
| + | hi Constant ctermfg=172 | ||
| + | hi Function ctermfg=9 | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||