Vi
Jump to navigation
Jump to search
Links
- General
- My links on vi on del.icio.us.
- Official vim homepage.
- Fun
- Vi would not be vi without a bit of fun...
- Guides & Cheat sheets
- Very good post explaining why vi is superior and defeating common misconception (with examples) [1].
- Very good graphical cheatsheet
- Direct links: overview and per-lesson.
Keyboard Shortcuts
! If keys HJKLM have been remapped to MHJKL, shortcut below must be changed accordingly !
Shortcut | Description | Custom |
---|---|---|
Ctrl+[ | Same effect as Esc, but a bit faster/easier to type. Also works on AZERTY keyboard (but apparently not for AndLinux, snif!) | |
* | Search next occurence of word under cursor (Here more like this...) | |
# | Search previous occurence of word under cursor | |
gd | Search first occurence of current search | |
^d<BS> | Concatenate current line at the end of previous lines (assuming <BS> does wrap-around. See option whichwrap) | |
J | Concatenate current line with next line |
Some Stuff to Add in ~/vimrc file
(remarks: command in ~/vimrc file must not be prefixed with a colon :)
- To enable syntax highlighting + numbering:
syntax enable set bg=light " Use set bg=dark if console background color is dark set number
- To remap movement key bindings to JKLM (instead of HJKL, so that they are right under right hand fingers on AZERTY keyboards). Commands on key 'M' are now on key 'H'.
nnoremap j h nnoremap k j nnoremap l k nnoremap m l nnoremap h m vnoremap j h vnoremap k j vnoremap l k vnoremap m l vnoremap h m
Miscellaneous Tips and Tricks
- Inserting only a single character (http://vim.wikia.com/wiki/Insert_a_single_character).
- Macro
- qq to start recording a macro q. End macro with q again.
- @q to replay macro, followed by . to replay it again.
- Visual Block
- Ctrl-v to start VISUAL BLOCK mode.
- Shift-I to insert some text at the start of each line of selected block.
- wrap-around
- Set option whichwrap or ww that allows specified keys that move the cursor left/right to move to the previous/next line when the cursor is on the first/last character in the line.
- In Vim, <space> and <backspace> are set to wrap-around by default.