www.neotek.ch

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
computer:software:cheatsheets:vim [2026/09/05 17:39] – created admincomputer: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 ====
  
 <code> <code>
-$ vi file           # open file +$ vi file   # open file 
-:w                  # save (write) +:w          # save (write) 
-:wq                 # save and quit  +:wq         # save and quit  
-:x                  # abbreviation of wq +:x          # abbreviation of wq 
-:q!                 # quit without save+:q!         # quit without save
 </code> </code>
 +
 +==== Grammar ====
 +=== Navigation ===
 +<code>
 +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      # Jump down one Page
 +CTRL-b      # Jump up one Page
 +CTRL-d      # Jump down halve a page
 +CTRL-u      # Jump up halve a page
 +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 (){}[]
 +</code>
 +
 +=== Edit ===
 +<code>
 +i           # insert at cursor position
 +a           # add after cursor position
 +o           # insert a line below
 +O           # insert a line above
 +12i <character>   # write the same character 12 times  ( type eight zero i dash <ESC> results in ------------)
 +y           # yank text (copy)
 +d           # delete
 +dt'         # delete everything to the character '
 +df'         # delete everything including character '
 +c           # copy line
 +y$          # copy to the end of the line (yank)
 +y5l         # yank five Characters from the cursor position to the right
 +yt(         # copy everything to the round bracket
 +d2w         #  delete two words
 +c2j         # change the next two lines
 +:undo or u
 +:redo or CTRL-R
 +</code>
 +
 +==== complex editing ====
 +=== Commenting 1 ===
 +<code>
 +CTRL-q       Cursor turns gray as soon you move the cursor keys (or hjkl). Mark everything you want comment
 +SHIFT-i      press Shift Key and i
 +#            type '#'
 +ESC          Press ESC
 +</code>
 +
 +=== Commenting 2 ===
 +Add '# ' in the beginning of line 5 to 12
 +<code>
 +:5,12s/^/# /     
 +</code>
 +
 +=== Uncomment 1 ===
 +<code>
 +CTRL-q       Mark everything you want to remove
 +q            press q
 +</code>
 +
 +=== Uncomment 2 ===
 +remove '# ' from the beginning of line 5 to 12
 +<code>
 +:5,12s/^# //
 +</code>
 +
 +==== Split window ====
 +<code>
 +$ vi file1.txt
 +:split file2.txt     # file2.txt is display in the same terminal window on top of file1.txt
 +:q                   # close file2.txt
 +:vsplit file2.txt    # file2.txt is displayed in the same terminal window to the right of file1.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
 +</code>
 +
 +==== Line Numbers ====
 +<code>
 +: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
 +</code>
 +
 +==== .vimrc example file ====
 +<code>
 +set hidden
 +set ruler
 +set tabstop=4
 +set mouse=r
 +set number                  (set nu)        # Zeilennummern einschalten
 +set relativenumber          (set rnu)       # relative Zeilennummern!!!!)
 +set relativenumber number   (set rnu nu)    # beides
 +set ruler
 +set nocp
 +filetype plugin on
 +set background=dark
 +hi Comment cterm=italic ctermfg=69 gui=italic guifg=#5d6eff
 +hi Constant ctermfg=172
 +hi Function ctermfg=9
 +</code>
 +
 +
 +
 +
computer/software/cheatsheets/vim.1788629989.txt.gz · Last modified: 2026/09/05 17:39 by admin