bookmarks/cheat/vim.md
2020-07-19 16:13:24 +02:00

4.5 KiB

Remove trailing spaces

:%s/\s\+$//e

Create a password-protected file using vim:

vim -x ostechnix.txt

To remove the password, open the file using vim:

vim ostechnix.txt

And type:

:set key=

Finally type :wq to save and close the file.

Indent the whole file in VIM (Source)

gg=G

Text selection (Source)

V       - selects entire lines
v       - selects range of text
ctrl-v  - selects columns
gv      - reselect block

Basics (command mode)

  • :open FILE_PATH : open a file
  • x - to delete the unwanted character
  • u - to undo the last the command and U to undo the whole line
  • CTRL-R to redo
  • U - return the last line which was modified to its original state (reverse all changes in last modified line)
  • A - to append text at the end
  • :wq - to save and exit
  • :q! - to trash all changes
  • dw - move the cursor to the beginning of the word to delete that word
  • 2w - to move the cursor two words forward.
  • 3e - to move the cursor to the end of the third word forward.
  • 0 (zero) to move to the start of the line.
  • d2w - which deletes 2 words .. You can change the paramater, e.g d3w for deleting three consecutive words.
  • dd to delete the line and 2dd to delete to line . Change the number for deleting the number of consecutive words.
  • p - puts the previously deleted text after the cursor(Type dd to delete the line and store it in a Vim register. and p to put the line)
  • r - to replace the letter e.g press re to replace the letter with e
  • ce - to change until the end of a word (place the cursor on the u in lubw it will delete ubw )
  • ce - deletes the word and places you in Insert mode
  • G - to move you to the bottom of the file.
  • gg - to move you to the start of the file.
  • Type the number of the line you were on and then G % to find a matching ),], or }
  • :s/old/new/g to substitute 'new' for 'old' where g is globally
  • / backward search n to find the next occurrence and N to search in opposite direction
  • ? forward search
  • :! to run the shell commands like :!dir, :!ls
  • :w - TEST (where TEST is the filename you chose.) . Save the file
  • v - starts visual mode for selecting the lines and you can perform operation on that like d delete
  • :r - Filename will insert the content into the current file
  • R - to replace more than one character
  • y - operator to copy text using v visual mode and p to paste it
  • yw - (copy)yanks one word
  • o - opens a line below the cursor and start Insert mode.
  • O - opens a line above the cursor.
  • a - inserts text after the cursor.
  • A - inserts text after the end of the line.
  • e - command moves to the end of a word.
  • y - operator yanks (copies) text,p puts (pastes) it.
  • R - enters Replace mode until <ESC> is pressed.
  • ctrl-w to jump from one window to another (see also Window Management section)

Executing commands (shell)

use current buffer as input of a shell command

  • :%! grep hello to search for all lines containing hello in the current buffer (Source)

Window management

  • :tabe filename to open a file in a new tab (Source)
  • gT and gt can be used to switch between tabs (Source)
  • vim -p file1 file2 to open files in tabs (Source)
  • :sp [file] or Ctrl+W, s : split the window (horizontally) (Source)
  • :vsp [file] or Ctrl+W, v : split the window (vertically) (Source)
  • Ctrl+w, l : move to the right window from the left (Source)
  • Ctrl+w, h : move to the left window again (Source)
  • To find more commands: How To Use VIM Split Screen

Buffer management

  • :bf go to first file
  • :bn go to next file
  • :bp go to previous file
  • :bl go to last file
  • :bw close file
  • :help buffer to find more information

Sources