VI commands
Jump to navigation
Jump to search
VI SHIT VIM defaults are in ~/.vimrc :set noai Sets auto indent :set nocindent sets autoindenting for braces and stuff :set paste is good to paste stuff in the format it was copied (good to put these off for pasting stuff from other config files) <shift+v> visual line select <alt+v> visual select point to point <ctrl+b> visual block select Y = yank (copy) d = (cut) P = paste after :start-line,end-linew /tmp/filename write lines to /tmp/filename :.,$s/bla/BLA/g replace bla to BLA from current line to last line in doc. lines: . = current line, $ = last line :.,100 d = delete from current line to line 100 (, = seperator) in the editor, doing 226dd will delete the next 226 lines from the cursor :!ls runs 'ls' :r!ls runs ls and puts the output in the open buffer :set number :set nonumber puts the line numbering on or off :set textwidth=0 puts the max textwidth off for wrapping Find and replace goes with :%s/findme/replaceme/ for the first instance and :%s/findme/replaceme/g for every instance in the file (g) To replace every ; in a file with a new line use :%s/;/<ctrl-v> <enter>(will turn into ^M)/g The / charachter can be replaced with any other character and special characters such as /,",', etc can be escaped. EG to replace every / in a file with a new line use :%s/\//\r/g To get rid of "^M" (MSDOS carriage returns) in a file or to put them in press control+V and then type M (or press the enter key). You can find and replace with this too. Some usefull regular expressions to know (and use in replacements) are \n - newline (for windows files) \r - return (for unix files) \s - for spaces use only \r to get stuff onto next lines, \n creates the ^@ char, and I'm not sure what that does yet