User Tools

Site Tools


vim

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vim [2012/03/23 18:12]
k2patel [VIM Scripts]
vim [2020/08/10 02:35] (current)
Line 3: Line 3:
 whereas vi would be a great text editor if only it had a decent operating system. whereas vi would be a great text editor if only it had a decent operating system.
  
 +==== vi cheat-sheet ====
 +
 +<code text>
 +a. cursor movements (items below are sometimes called objects):
 +        h - left one character
 +        l - right one character
 +        j - down one line
 +        k - up one line
 +        w - right one word
 +        b - back one word
 +        $ - to the end of line
 +        0 - to the beginning of the line
 +        ) - right one sentence
 +        ( - left one sentence
 +        } - right one paragraph
 +        { - left one paragraph
 +        Ctrl-F - forward one page
 +        Ctrl-B - back one page
 +        G - go to (without arguments, go to end of file)
 +b. deleting:
 +        d - delete
 +                then add one of the cursor movement symbols to
 +                show what should be deleted, i.e.:
 +                d$ - delete to end of line
 +                d0 - delete to the beginning of the line
 +                d} - delete to the end of paragraph
 +        dd - delete delete (delete the whole line)
 +        x - delete character cursor is on
 +c. other basic commands:
 +        r - replace one character
 +        ZZ - save and exit (hold down shift and press "​z"​ twice)
 +        y - yank (copy into temporary buffer)
 +                then add cursor movement symbol to show what should be
 +                copied, for example: y) - copy to the end of sentence
 +        Y - yank line cursor is on
 +        p - paste below cursor line (deleted or copied text)
 +        P - paste above cursor line
 +        u - undo last editing command
 +        /sometext - search for "​sometext"​
 +d. any command can take numeric argument before the name of "​object",​ i.e.:
 +        5dd - delete 5 lines beginning with cursor line (or) d5d - same
 +        2dw - delete two words (or) d2w - delete two words
 +        c3w - change 3 words
 +        3Ctrl-B - move up three pages
 +        1G - go to the first line
 +e. external commands can be performed on the selected text (in lines)
 +   if command is started with "​!",​ i.e.:
 +        !}fmt - reformat paragraph to 72 columns
 +f. command line (sometimes called "ex mode"​):​
 +        :
 +g. from the command line a "​set"​ command can be executed to 
 +   ​customize editing environment,​ i.e.:
 +        :set all - will show the state of all options
 +        :set number - will show on the screen numbers of all lines
 +        :set autoindent ​  // obvious
 +h. from the command line operations can be performed on the range of lines,
 +   i.e.:
 +        :18,24 del - delete from line 18 to line 24
 +        :23,48 copy 17 - block from line 23 to 48 copy to line 17
 +        :2,17 move 92 - block from line 2 to 17 move to line 92
 +i. from the command line any external UNIX command can be performed on 
 +   the range of lines if line range is superseded by "​!":​
 +        :11,16! sed -e "​s/​^/​\/​\*/"​ -e "​s/​$/​\*\//"​
 +                (the command above wraps the block of text with
 +                 "​C"​ style comments - /* text */.  It can be done
 +                  easier, but this is an example)
 +        :14,19! sort -r +3
 +                (sort the table in reverse order by fourth column)
 +j. file manipulation from the command line:
 +        :r somefile - read in "​somefile"​
 +        :x - save and exit (if file is "Read Only", this command will
 +                exit without saving)
 +        :wq - write and quit (same as above)
 +        :w - write (save) if the file permissions allow it
 +        :w! - save file even if it is read-only as long as we own it
 +        :w somefile - save this file as "​somefile"​
 +        :q - quit without saving
 +        :q! - quit without saving if changes were made
 +k. text input commands (all require "​Esc"​ to terminate):
 +        i - insert text before the character cursor is on
 +        I - insert text at the beginning of the line
 +        a - append (insert text after the character cursor is on)
 +        A - append text to the end of the line
 +        c - change (replace previous text with new one)
 +                takes arguments just like the delete command - it is
 +                a fast and powerful way of changing original text -
 +                much more so than typical "​overwrite"​
 +        R - start overwriting text
 +        o - start entering text at the beginning of the new line
 +            below the cursor
 +        O - start entering text at the beginning of the new line
 +            above the cursor
 +l. if in doubt, press "​Esc"​
 +</​code>​
 +
 +[[http://​www.infobound.com/​vi.html | Ref.]]
 ==== File Cleaning ==== ==== File Cleaning ====
  
Line 87: Line 183:
 </​code>​ </​code>​
  
 +==== Quick tools ==== 
 +Comment line from current line. 
 +<code bash> 
 +:​.,​$s/​^/#/​g 
 +</​code>​
 ==== Marking ==== ==== Marking ====
 <code vim> <code vim>
Line 161: Line 261:
 ^ - move to the beginning of the line            ^ - move to the beginning of the line           
 `m - move to the location of mark m `m - move to the location of mark m
-G - move to the end of the file                 +G - move to the end of the file 
 +gg - move to the beginning ​of the file                 
 ) - move forward 1 sentence ) - move forward 1 sentence
 H - move to the top of the display ​             ​ H - move to the top of the display ​             ​
Line 351: Line 452:
 " ​      ​Comments are shown in a brightgreen color which is visible clearly as against ​ " ​      ​Comments are shown in a brightgreen color which is visible clearly as against ​
 " ​      a dark blue which is annoyingly hard to read to read, at least to me. " ​      a dark blue which is annoyingly hard to read to read, at least to me.
 +
 +
 +:set nu ts=4 sw=4 shiftround ignorecase smartcase
 +" let perl_fold=1
 +:​colorscheme elflord
 +" to set the title of the window where you are working
 +
 +:set title
 +:auto BufEnter * let &​titlestring = hostname() . ":"​ . expand("​%:​p"​)
 +:auto BufEnter * let &​titleold = hostname() . ":"​ . getcwd()
 +
 +:set statusline+=%f\
 +:set smartindent
 +:set expandtab
 +:set tabstop=4
 +
 +
 +:set ruler
 +:set nowrap
 +:set incsearch
 +
 +:au Syntax pl   ​source ~/​.vim/​test.vim
 +:au Syntax pm   ​source ~/​.vim/​test.vim
 +:au Syntax pod  source ~/​.vim/​test.vim
 +:au Syntax lib  source ~/​.vim/​test.vim
 +
 +":set foldmethod=indent
 +":set foldlevel=0
 +
 </​code>​ </​code>​
  
vim.1332526352.txt.gz · Last modified: 2020/08/10 02:29 (external edit)