vim_cheat_sheet_for_programmers_screen

Document Sample
vim_cheat_sheet_for_programmers_screen Powered By Docstoc
					                                                      Vim 7.3+                                                                                                                                                                              Copyleft	
  ©	
  2011
Esc       Normal
                             Revision 2.0
                            Sept. 11, 2011           :version                                         Vim Cheat Sheet for Programmers                                                                                                       May	
  be	
  freely	
  distributed!
                                                                                                                                                                                                                                            Sharing	
  is	
  Caring.
                                                                                                                                                                                                                                                                                       http:/michael.PeopleOfHonorOnly.com/vim/


HOW-TO make Vim not suck Out of the Box: :help statusline :set nocompatible ruler laststatus=2 showcmd showmode number                                              Search :set incsearch ignorecase smartcase hlsearch                            Remove useless splash screen :set shortmess+=I
        Best tips: http://vim.wikia.com/                             Best scripts: http://www.vim.org/scripts/index.php                                                                                             :map <F9> :e $HOME/_vimrc<CR>                                      :map <F6> :so $HOME/_vimrc<CR>
          Ctrl `                   Ctrl 1                 Ctrl @              Ctrl 3                    Ctrl 4                Ctrl 5                   Ctrl ^                   Ctrl 7               Ctrl 8                   Ctrl 9                           Ctrl 0                           Ctrl _                Ctrl =

                                                                                                         ⇥
                                                           play              prev                                            goto                                                                    next                     begin                        end
~ toggle case           !       extern filter    @•       macro      #     identifier       $                       %        match           ^        soft ⇤        &         repeat :s    *       identifier       (       sentence        )            sentence                      _      cur line       +           ↓
                   13                        1                                          3                                                                                                                       8                                                                                                  auto-        2
`• goto mark            1                        2                   3                      4                       5                        6                      7                      8                        9                       0              hard ⇤                      -          ↑          =    format
                        14                                                                      12                   10                                                                                                                           9
                                block select ^w• window…                  scroll line ↑                 :redo             ctags return              scroll line ↓            half page ↑             Ctrl I                 prev mark                              ↑                         Normal               ctags identifier

                                                                              end                                                                                                                                                                                                               ↖                 paragraph
                        Q        ex mode         W      WORD ↘       E    WORD ↘            R         Replace       T• ← until char Y               copy line       U        undo line     I insert ⇤ O open ⤒ P                                      paste ⤒                          {    paragraph        }        ↘
                                   record                                    end                      replace                                                   0                                                                                                                 0
         Tab            q•                       w       word ↘      e                      r                       t•    until char →       y      copy            u        undo          i         insert         o       open ⤓          p         paste ⤓                          [•       misc.        ]•       misc.




                                                                                                                                                                                                   ↱
                                                                                                                                                                2
                                   macro                                   word ↘                       char
                            7                                        10                                                                                                 15
                                   incr. #                                half page ↓                  page ↓             file/cursor info             Ctrl H                   Ctrl J                                       redraw                             Ctrl ;                          Ctrl '                 Ctrl \
                                                                                                                          goto eof /                                                               man page                  Bottom                                                                      0              ⇤
                        A append ⇥               S      subst line   D     del ⇥            F• ← find char G              goto line#         H      Top screen      J        Join lines    K       identifier       L        screen         :             cmd line                     "•   register         |    goto col#
                                                                                        0                                               6                                                                                                                "next"                   16                                             \
        Caps            a append                 s      subst char   d       del            f•       find char →    g•      extra            h          ←           j            ↓         k           ↑            l         →             ;                                          '•   goto mark ⇤      \•
                                         ↰




                                                                                        2
                                                                                                                                                                                                                                                         f/F/t/T
                                                 7,11                                                                                        9,16                       15
             Ctrl ^              :suspend                decr. #          Normal / Cancel            block select            page ↑                      ↓                     Ctrl M                Ctrl ,                   Ctrl .                            Ctrl /                 Unused & Duplicate keys
                                             4                                                         select                                                                  Middle                           2                       2                                                  \ Ctrl-K Ctrl-S (free)
                                                                                                                                                      "prev"
                        Z•        quit           X      ← del char   C    change ⇥          V                       B     ↖ WORD             N                      M                      <       undent           >       indent          ?•              find ↖                         Ctrl-L (redraw)
            Shift ⇧                                                                                     lines                                          find                    screen                                                                                                   13 ` near dup of '
                                             5                                          0              select                                          find                                        "prev"     16             repeat                                                     14 Ctrl-Q = Ctrl-V
                        z•       extra           x      del char →   c    change        2   v          chars        b       ↖ word           n        "next"        m•        set mark         ,   f/F/t/T
                                                                                                                                                                                                                        .     cmd             /•            find ↘                      15 Ctrl-J = Ctrl-M = ^N

Legend:                 16 The search direction is relative; next is the initial direction, previous is the opposite direction. n ; repeat same initial direction find. N , repeat opposite initial direction find. Note: ; , only searches cursor line, n N searches buffer.

    Macro      Register name (0-9a-zA-Z) required                            :help cmdline :r file insert file                                 :help tags                                                      \ :map \ :Explore<CR> manually type <,C,R,>                                                   :buffer #
    Op         Motion req.; act between cursor & dst                            :w save         :gui      switch to GUI :ts       list active tags                                                            §0 "• before del/copy/paste to use register                                             :buffers list
  Cmd          Command                                                          :q quit         :q!       quit w/o save ^]        jump to tag under cursor                                                       "+x     cut to system clipboard reg. '+'                                             :new blank file/buffer
    Ins        Command and enter insert mode                                    :e <file> edit file                       ^t      restore cursor before tag jump                                                 "+gP paste from system clipboard                                                     :bn next file
  Move         Moves cursor or defines range for op                             :source % exec cmds in cur file           ^p      complete word                                                                1 Number before any action repeats it                                                  :bp prev file
   Find        Search (↖ = reverse, ↘ = forward)                                :exec '...' do cmd                       :ta Foo manual jump to tag 'Foo'                                                        2p      paste twice          3. repeat thrice                                        :bd close file
   tag         ctags / diffs / folding                                                     :help movement                                                                                                      2 Repeat op to act on current line                                                     :bd! force close
  Code         Code formatting, whitespace, etc.                           soft ^ ⇤ Start of Line 1st non-whitespace                           :help diff                                                        yy      copy line            dd del line                                             :set lines=#
  Extra        Extended functionality; req. extra chars                    hard  0 ⇤ Start of Line column 0               [c prev diff     :hi DiffAdd           guifg=#rrggbb                                   <<      undent line          >> indent line                                          :set columns=#
     •         Char arg req. g z Z ^w ' " ` …                                    $ ⇥ End of Line                          ]c next diff     :hi DiffChange guibg=#rrggbb                                        3 #       highlight words under cursor                                                 :winpos # #        GUI

 Modes         :help modes                                                       | move col 0         #| move col #       :diffupdate :hi DiffText gui=none                                                    4 ZZ      save & quit          ZQ quit w/o save                                               Windows
   n           Normal               Esc ^[ ^c                                   ^b page ↑             ^f page ↓               resync       :hi DiffDelete                                                      5 zz      center cursor line in window                                                :help windows
   i           Insert               a i r s                                     ^u ½ page ↑           ^d ½ page ↓                                                                                                zh      scroll left          zl scroll right                                       ^w• or :wincmd •
   v           Visual               v V ^v ^q                                   ^e scroll line ↑      ^y scroll line ↓       :help folding              :help changes                                            zt      scroll top           zb scroll bottom                                         w!    :switch to next
   o           Op pending           c d y < >                                   1g start of file      0g end of file      zR fold remove             :changes                                                 §6 gg      top of file                                                                   c!    :close!
                                                                                                                                                                                                                                                                                                       n!    :new
   c           Command Line : / ? !                                             #g goto line #         G end of file      zo fold open               g; older change                                             gf      open file under cursor
                                                                                                                                                                                                                                                                                                       s!             horz.
                                                                                                                                                                                                                                                                                                             :split horz.
 word            Foo ( src , ␢ dst , ␢ len );                                   [[ begin this func {                      zc fold close              g, newer change                                           7 ^a      incr # under cursor (Dec / Hex)                                               v!    :vsplit vertical
Note: There is no whitespace in-between 'Foo(src,' but before/after 'dst,'      ]] begin next func {                      zi invert all                                                                          ^x      decr # under cursor (Dec / Hex)                                               o!    :only maximize
 WORD             Foo ( src , ␢ dst , ␢ len );                                  :set matchpairs=(:),{:},[:],<:>,?:\:      zr fold reduce                  :help syntax                                         8 *       start a "new" search                                                          =!    all same size
                                                                                                                                                                                                                                                                                                       h!    move to win ←
 Startup                                                                         % goto matching { } < > [ ]              zm fold more               :syntax enable                                                            Insert mode
                                                                                                                                                                                                                                                                                                       j!    move to win ↓
     vim <filename> +123                goto line 123                                         :help range                                            :set filetype=                                           9 ^p prev auto-complete ^n next                                                          k!    move to win ↑
     vim <file> … -t Foo                edit at tag 'Foo'                  :s/Foo/Bar           find Foo replace w/ Bar :help recording          c cpp sh make perl python                                   10 ^d       undent             ^t    indent                                               l!    move to win →
     vim <file> … -c "/Foo" cmd: find 'Foo' & edit :s/Foo/Bar/g ...all instances on line                                  q• start recording         Note:	
  chose	
  only	
  ONE	
  type!                  §11 ^x• ^f filename completion                                                            !
                                                                                                                                                                                                                                                                                                      :sp    [<filename>]
GUI vim -g           or      gvim       start GUI ver.                     :%s/Foo/Bar          apply to whole file       @• playback                   convert <eol>                                                ^s spelling            :set spell!                                                edit in split window
GUI Linux      :set guifont=ProggyTinyTT\ 12                               .,.+# cur line, cur line + # lines             q stop recording :set fileformat=                                                          ^k dictionary          ]s    next bad                                            Cursor Bookmarks
GUI OSX        :set guifont=ProggyTiny\:h11                                      $ last line          '< start of select  @@ repeat                  unix or dos or mac                                              ^t thesaurus           :help spell                                               :marks     ` ' ^o
diff gvimdiff <file1> <file2> [<file3>]                                                               '> end of select                               then :w to convert                                      12 ^r•      paste register 0-9a-zA-Z or …                                                ma mark local 'a'
bug     Broken Keys Ctrl-I = Tab, Ctrl-[ = ESC                                  Code = < > << >>                         :set tabstop=#          set tab stop every #th col                                          + clipboard (or '*') :help c_CTRL-R                                              'A goto global 'A'
        Vim is still unable to map certain keys for your own use…          :set backspace=indent,eol,start               :set expandtab!         toggle hard/soft tabs                                               " last del/copy        % filename                                                '' prev location
 §      Caps, Ctrl-1, Ctrl-Shift-1, Ctrl-I, Ctrl-\, etc.                                allow backspace join lines :set listchars=… tab:>-:trail:-,nbsp:%,eol:$                                               :set numbers!          toggle line numbers                                                 File / Directory
 0 See: src/ops.c -c "/valid_yank_reg" for "• reg. names                   :set shiftwidth=# indent width for ai :set list!                      toggle whitespace                                            :set wrap!             toggle linewrap display                                          :Explore or :e .
 6 See: src/normal.c -c "/nv_cmds" for g• extra cmds                       :set autoindent! toggle auto-indent :set colorcolumn=80 visible right margin indicator                                             :set showmatch         highlite matching ()                                             :set browsedir=…
11 See: src/edit.c -c "/ctrl_x_msgs" for ^x• insert cmds                   :set lisp                lisp indent mode noremap + :s/^/\/\//<CR> block comment                                                   noremap - :s/^\/\///<CR> uncomment                                                      one of buffer last

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:10
posted:9/15/2011
language:Latin
pages:1