SlideShare una empresa de Scribd logo
1 de 1
Descargar para leer sin conexión
Copyleft	
  ©	
  2011
Esc      Normal
                             Revision 2.0
                            Sept. 11, 2011
                                                      Vim 7.3+
                                                     :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 =

~ toggle case           !       extern filter    @•
                                                           play
                                                          macro      #
                                                                             prev
                                                                           identifier       $            ⇥          %
                                                                                                                             goto
                                                                                                                             match           ^        soft ⇤        &         repeat :s    *
                                                                                                                                                                                                     next
                                                                                                                                                                                                   identifier       (
                                                                                                                                                                                                                              begin
                                                                                                                                                                                                                            sentence        )
                                                                                                                                                                                                                                                           end
                                                                                                                                                                                                                                                         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         :         Ex cmd line                      "•   register         |    goto col#
                                                                                        0                                               6                                                                                                                "next"                   16        goto mark                            
       Caps             a       append           s      subst char   d       del            f•       find char →    g•      extra            h          ←           j            ↓         k           ↑            l         →             ;                                          '•                    •
                                         ↰




                                                                                        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 ↖                      13 Ctrl-L (redraw)
            Shift ⇧                                                                                     lines                                          find                    screen                                                                                                      ` 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 in new buffer            ^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!    :split horz.
                                                                                                                                                                                                                                                                                                                      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
                                                                                                                                                                                                                                                                                                                     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
                                                                                                                                                                                                  9 ^p prev auto-complete ^n
                                                                                                                                                                                                                                                                                                       j!    move to win ↓
     vim <filename> +123                goto line 123                                        :help range                                                 :set filetype=                                                              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
                                                                                                                                                                                                                                 :set number!

Más contenido relacionado

La actualidad más candente

Réglage d'un site 2G
Réglage d'un site 2G Réglage d'un site 2G
Réglage d'un site 2G kawtar dziri
 
Gestion mobilite gsm
Gestion mobilite gsmGestion mobilite gsm
Gestion mobilite gsmHamza Elhanna
 
rapport-projet-de-fin-detudes
 rapport-projet-de-fin-detudes rapport-projet-de-fin-detudes
rapport-projet-de-fin-detudesAchraf Mokhtari
 
evolution de la 2G a 3G en af cas de la cote d'ivoire
evolution de la 2G a  3G en af cas de la cote d'ivoireevolution de la 2G a  3G en af cas de la cote d'ivoire
evolution de la 2G a 3G en af cas de la cote d'ivoireKONAN MARTIAL
 
Cell PCH state - Some Questions Answered
Cell PCH state - Some Questions AnsweredCell PCH state - Some Questions Answered
Cell PCH state - Some Questions AnsweredFaraz Husain
 
Imagrie Rachis 03 02 09 Da
Imagrie Rachis 03 02 09 DaImagrie Rachis 03 02 09 Da
Imagrie Rachis 03 02 09 Daraymondteyrouz
 
Architecture d'un réseau GSM 2G (Téléphonie Mobile)
Architecture d'un réseau GSM 2G (Téléphonie Mobile)Architecture d'un réseau GSM 2G (Téléphonie Mobile)
Architecture d'un réseau GSM 2G (Téléphonie Mobile)Assia Mounir
 
85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon
85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon
85898174 mạng-truy-nhập-quang-đến-thue-bao-gponKhoa Nguyen
 
Conception et Mise en place d'une Application Web SPA pour les établissements...
Conception et Mise en place d'une Application Web SPA pour les établissements...Conception et Mise en place d'une Application Web SPA pour les établissements...
Conception et Mise en place d'une Application Web SPA pour les établissements...Ben Ahmed Zohra
 
Les étapes d'un raccordements client FTTH en aérien
Les étapes d'un raccordements client FTTH en aérienLes étapes d'un raccordements client FTTH en aérien
Les étapes d'un raccordements client FTTH en aérienEric Grand
 
[Báo cáo] Bài tập lớn Thông tin số: MIMO OFDM
[Báo cáo] Bài tập lớn Thông tin số: MIMO OFDM[Báo cáo] Bài tập lớn Thông tin số: MIMO OFDM
[Báo cáo] Bài tập lớn Thông tin số: MIMO OFDMThe Nguyen Manh
 
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...Abdelmadjid Djebbari
 
Cours réseauxs gsm
Cours réseauxs gsmCours réseauxs gsm
Cours réseauxs gsmTECOS
 
Optimization guidelines accessibility-ericsson-rev01
Optimization guidelines accessibility-ericsson-rev01Optimization guidelines accessibility-ericsson-rev01
Optimization guidelines accessibility-ericsson-rev01ZIZI Yahia
 
Qualité de Service dans les Réseaux Mobiles Ad Hoc
Qualité de Service   dans les  Réseaux Mobiles Ad HocQualité de Service   dans les  Réseaux Mobiles Ad Hoc
Qualité de Service dans les Réseaux Mobiles Ad Hoc Hadjer BENHADJ DJILALI
 
Thiet ke toi uu vo tuyen
Thiet ke toi uu vo tuyenThiet ke toi uu vo tuyen
Thiet ke toi uu vo tuyenDon Tú
 
công nghệ MIMO trong 4G-Lte
công nghệ MIMO trong 4G-Ltecông nghệ MIMO trong 4G-Lte
công nghệ MIMO trong 4G-LtePTIT HCM
 

La actualidad más candente (20)

Réglage d'un site 2G
Réglage d'un site 2G Réglage d'un site 2G
Réglage d'un site 2G
 
Gestion mobilite gsm
Gestion mobilite gsmGestion mobilite gsm
Gestion mobilite gsm
 
rapport-projet-de-fin-detudes
 rapport-projet-de-fin-detudes rapport-projet-de-fin-detudes
rapport-projet-de-fin-detudes
 
evolution de la 2G a 3G en af cas de la cote d'ivoire
evolution de la 2G a  3G en af cas de la cote d'ivoireevolution de la 2G a  3G en af cas de la cote d'ivoire
evolution de la 2G a 3G en af cas de la cote d'ivoire
 
Cell PCH state - Some Questions Answered
Cell PCH state - Some Questions AnsweredCell PCH state - Some Questions Answered
Cell PCH state - Some Questions Answered
 
La goute 2
La goute 2La goute 2
La goute 2
 
Imagrie Rachis 03 02 09 Da
Imagrie Rachis 03 02 09 DaImagrie Rachis 03 02 09 Da
Imagrie Rachis 03 02 09 Da
 
Architecture d'un réseau GSM 2G (Téléphonie Mobile)
Architecture d'un réseau GSM 2G (Téléphonie Mobile)Architecture d'un réseau GSM 2G (Téléphonie Mobile)
Architecture d'un réseau GSM 2G (Téléphonie Mobile)
 
85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon
85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon
85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon
 
Memoire_cedric
Memoire_cedricMemoire_cedric
Memoire_cedric
 
Conception et Mise en place d'une Application Web SPA pour les établissements...
Conception et Mise en place d'une Application Web SPA pour les établissements...Conception et Mise en place d'une Application Web SPA pour les établissements...
Conception et Mise en place d'une Application Web SPA pour les établissements...
 
Les étapes d'un raccordements client FTTH en aérien
Les étapes d'un raccordements client FTTH en aérienLes étapes d'un raccordements client FTTH en aérien
Les étapes d'un raccordements client FTTH en aérien
 
[Báo cáo] Bài tập lớn Thông tin số: MIMO OFDM
[Báo cáo] Bài tập lớn Thông tin số: MIMO OFDM[Báo cáo] Bài tập lớn Thông tin số: MIMO OFDM
[Báo cáo] Bài tập lớn Thông tin số: MIMO OFDM
 
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
 
Cours réseauxs gsm
Cours réseauxs gsmCours réseauxs gsm
Cours réseauxs gsm
 
Optimization guidelines accessibility-ericsson-rev01
Optimization guidelines accessibility-ericsson-rev01Optimization guidelines accessibility-ericsson-rev01
Optimization guidelines accessibility-ericsson-rev01
 
Qualité de Service dans les Réseaux Mobiles Ad Hoc
Qualité de Service   dans les  Réseaux Mobiles Ad HocQualité de Service   dans les  Réseaux Mobiles Ad Hoc
Qualité de Service dans les Réseaux Mobiles Ad Hoc
 
Thiet ke toi uu vo tuyen
Thiet ke toi uu vo tuyenThiet ke toi uu vo tuyen
Thiet ke toi uu vo tuyen
 
công nghệ MIMO trong 4G-Lte
công nghệ MIMO trong 4G-Ltecông nghệ MIMO trong 4G-Lte
công nghệ MIMO trong 4G-Lte
 
Luận văn: Vận hành, quản lý, giám sát hệ thống BTS Viettel, HAY
Luận văn: Vận hành, quản lý, giám sát hệ thống BTS Viettel, HAYLuận văn: Vận hành, quản lý, giám sát hệ thống BTS Viettel, HAY
Luận văn: Vận hành, quản lý, giám sát hệ thống BTS Viettel, HAY
 

Vim cheat sheet for programmers

  • 1. Copyleft  ©  2011 Esc Normal Revision 2.0 Sept. 11, 2011 Vim 7.3+ :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 = ~ toggle case ! extern filter @• play macro # prev identifier $ ⇥ % goto match ^ soft ⇤ & repeat :s * next identifier ( begin sentence ) end 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 : Ex cmd line "• register | goto col# 0 6 "next" 16 goto mark Caps a append s subst char d del f• find char → g• extra h ← j ↓ k ↑ l → ; '• • ↰ 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 ↖ 13 Ctrl-L (redraw) Shift ⇧ lines find screen ` 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 in new buffer ^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! :split horz. 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 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 9 ^p prev auto-complete ^n j! move to win ↓ vim <filename> +123 goto line 123 :help range :set filetype= 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 :set number!