====== Vim Stuff ======
My personal config (''$HOME/.vimrc'')
set nobackup
set noswapfile
set noundofile
set tabstop=4 shiftwidth=4
set number
set showmatch
" sometimes i lose this - not sure why :(
syntax on
" this is what i use on slackware (dwm)
colorscheme elflord
" F5 shortcut to remove trailing whitespace
nnoremap :let _s=@/:%s/\s\+$//e:let @/=_s
====== CheatSheet ======
^ Basic Usage (Command Mode) ^^
^ Keys ^ Function ^
| :w | Write/save file |
| :x | Save and quit |
| :q | Quit |
| :q! | Quit (Force) |
| :set nu | Display line numbers |
| :noh | No highlights |
^ Entering Insert Mode ^^
^ Keys ^ Function ^
| i | insert at current position |
| a | insert after current position |
| I | insert before the current line |
| A | insert after the current line |
| o | insert a new line after the current line |
| O | insert a new line before the current line |
| C | ovewrite the whole current line |
^ Cursor Movement ^^
^ Keys ^ Function ^
| h | move left |
| j | move down |
| k | move up |
| l | move right |
| w | move to next word |
| b | move to the start of the word |
| e | move to the end of the word |
| ( | move previous sentence |
| ) | move next one sentence |
| { | move previous paragraph |
| } | move next paragraph |
| %%^%% | move to the beginning of the line |
| $ | move to the end of the line |
| G | move to the n-th line |
| G | move to the last line |
| gg | move to the first line |
| % | move to the matching bracket |
^ Select/Copy and paste ^^
^ Keys ^ Function ^
| yy | Yank/copy current line |
| yw | Yank/copy next word |
| ynj | Yank/copy next n lines |
| y$ | Yank to the end of the line |
| p | Paste after cursor |
| P | Paste before cursor |
^ Deleting ^^
^ Keys ^ Function ^
| x | Delete a single character |
| D | Delete the rest of the line |
| dd | Delete current line |
| ndw | Delete the next n words |
| ndd | Delete the next n lines |
| :m,nd | Delete from line m through to line n |
^ Visual Mode ^^
^ Keys ^ Function ^
| Shift+v | Enter visual mode |
^ Code Folding ^^
^ Keys ^ Function ^
| zfa} | Fold code in curly braces |
| zc | Close code folding |
| zo | Open code folding |
| za | Toggle code folding |
| zd | Delete fold marker |
//Dumped...//
Search and Replace
/pattern
Search for pattern.
n
Find the next occurrence of pattern.
:%s/pattern/replace/g
Replace every occurrence of pattern with replace..
Paste from clipboard
Shift+Insert in insert mode!
====== Working on Multiple Files ======
//Dumped...//
Opening
:e filename
//**note:** or simply specify multiple names at command line//
Switching between files
:n Or :bn - switch to the next file
:N Or :bp - switch to the previous file
:bf - switch to the first file
:bl - switch to the last file
:b number - switch to a specific file number(for file number 3, use the command “b 3”):
:b filename - switch to a specific file filename(for file name file1, use “:b file1”)
:wall - save all open files
:bw - quit the current file
qall - quit all open files
:qall! - forcefully quit all the files, discarding the changes
:ls - list opened files
Multiple view
split horizontal (2-rows,top/bottom)
$ vim -o file1 file2
split vertical (2-columns,side-by-side)
$ vim -O file1 file2
:split filename
:vsplit filename
Ctrl+w,j - switch to the next window below the current window
Ctrl+w,k - switch to the next window above the current window
Ctrl+w,l - switch to the next window to the right of the current window
Ctrl+w,h - switch to the next window to the left of the current window
ctrl+w,w - cycle through all Vim windows
ctrl+w,x - exchange?? Vim windows
ctrl+w,r - rotate layout of all Vim windows