VIM quickref







自上而下的查找操作                  /word小寫的n和N


自下而上的查找操作                  ?word小寫的n和N

普通替換操作                            :s/old/new

當前行進行匹配和替換、命令替換當前行中第一個匹配的字符行內全部替換操作:s/old/new/g

當前行替換所有匹配的字符串在行區域內進行替換操作:#,#s/old/new/g

在整個文件內的替換操作:%s/old/new/g

在整個文檔中進行替換操作的命令使用替換的確認功能:s/old/new/c:s/old/new/gc:#,#s/old/new/gc:%s/old/new/gc

*quickref.txt*    For Vim version 7.4.  最近更新: 2013年8月


          VIM REFERENCE MANUAL    by Bram Moolenaar

             譯者: lang2 http://vimcdoc.sf.net


                快速參考指南


   *quickref* *Contents*

 標籤      主題                 標籤      主題    ~

|Q_ct|    幫助文件清單            |Q_re|    重複命令

|Q_lr|    動作: 左右            |Q_km|    鍵盤映射

|Q_ud|    動作: 上下            |Q_ab|    縮寫

|Q_tm|    動作: 文本對象            |Q_op|    選項

|Q_pa|    動作: 模式查找            |Q_ur|    撤銷/重做命令

|Q_ma|    動作: 位置標記            |Q_et|    外部命令

|Q_vm|    動作: 其他            |Q_qf|    Quickfix 命令

|Q_ta|    動作: 使用標籤            |Q_vc|    其他命令

|Q_sc|    屏幕滾動            |Q_ce|    Ex: 命令行編輯

|Q_in|    插入: 插入文本            |Q_ra|    Ex: 範圍

|Q_ai|    插入: 普通鍵            |Q_ex|    Ex: 特殊字符

|Q_ss|    插入: 特殊鍵            |Q_st|    啓動 Vim

|Q_di|    插入: 二合字母            |Q_ed|    文件編輯

|Q_si|    插入: 特殊插入            |Q_fl|    使用參數列表

|Q_de|    改動: 刪除文本            |Q_wq|    寫入與退出

|Q_cm|    改動: 複製與移動        |Q_ac|    自動命令

|Q_ch|    改動: 修改文本            |Q_wi|    多窗口命令

|Q_co|    改動: 複雜            |Q_bu|    緩衝區列表命令

|Q_vi|    可視模式            |Q_sy|    語法高亮

|Q_to|    文本對象            |Q_gu|    GUI 命令

                    |Q_fo|    摺疊


------------------------------------------------------------------------------
N 用來 (可選) 置於命令之前表示該命令執行的計數。
------------------------------------------------------------------------------

*Q_lr*        左右動作


|h|    N  h        左 (亦: CTRL-H、<BS> 或 <Left> 鍵)

|l|    N  l        右 (亦: <Space> 或 <Right> 鍵)

|0|       0        至本行第一個字符 (亦: <Home> 鍵)

|^|       ^        至本行第一個非空白字符

|$|    N  $        至本行 (加上 N - 1 後續行) 最後一個字符 (亦: <End> 鍵)

|g0|       g0        至屏幕行第一個字符 (當行迴繞時和 "0" 不同)

|g^|       g^        至屏幕行第一個非空白字符 (當行迴繞時和 "^" 不同)

|g$|    N  g$        至屏幕行最後一個字符 (當行迴繞時和 "$" 不同)

|gm|       gm        至屏幕行中點

|bar|    N  |        至第 N 列 (缺省: 1)

|f|    N  f{char}    至右邊第 N 次出現 {char} 之處 (find)

|F|    N  F{char}    至左邊第 N 次出現 {char} 之處 (Find)

|t|    N  t{char}    至右邊第 N 次出現 {char} 之前 (till)

|T|    N  T{char}    至左邊第 N 次出現 {char} 之前 (Till)

|;|    N  ;        重複上次 "f"、"F"、"t" 或 "T" 命令 N 次

|,|    N  ,        以相反方向重複上次 "f"、"F"、"t" 或 "T" 命令 N 次

------------------------------------------------------------------------------

*Q_ud*        上下動作


|k|    N  k        上移 N 行 (亦: CTRL-P 和 <Up>)

|j|    N  j        下移 N 行 (亦: CTRL-J、CTRL-N、<NL> 和 <Down>)

|-|    N  -        上移 N 行,至第一個非空白字符

|+|    N  +        下移 N 行,至第一個非空白字符 (亦: CTRL-M 和 <CR>)

|_|    N  _        下移 N - 1 行,至第一個非空白字符

|G|    N  G        至第 N 行 (缺省: 末行) 第一個非空白字符

|gg|    N  gg        至第 N 行 (缺省: 首行) 第一個非空白字符

|N%|    N  %        至全文件行數百分之 N 處;必須給出 N,否則是 |%| 命令

|gk|    N  gk        上移 N 屏幕行 (迴繞行時不同於 "k")

|gj|    N  gj        下移 N 屏幕行 (迴繞行時不同於 "j")

------------------------------------------------------------------------------

*Q_tm*        文本對象動作


|w|    N  w        向前 (正向,下同) N 個單詞                (word)

|W|    N  W        向前 N 個空白隔開的字串 |WORD|            (WORD)

|e|    N  e        向前至第 N 個單詞詞尾                     (end)

|E|    N  E        向前至第 N 個空白隔開的字串 |WORD| 的詞尾 (End)

|b|    N  b        向後 (反向,下同) N 個單詞                (backward)

|B|    N  B        向後至第 N 個空白隔開的字串 |WORD| 的詞尾 (Backward)

|ge|    N  ge        向後至第 N 個單詞詞尾

|gE|    N  gE        向後至第 N 個空白隔開的字串 |WORD| 的詞尾


|)|    N  )        向前 N 個句子

|(|    N  (        向後 N 個句子

|}|    N  }        向前 N 個段落

|{|    N  {        向後 N 個段落

|]]|    N  ]]        向前 N 個小節,置於小節的開始

|[[|    N  [[        向後 N 個小節,置於小節的開始

|][|    N  ][        向前 N 個小節,置於小節的末尾

|[]|    N  []        向後 N 個小節,置於小節的末尾

|[(|    N  [(        向後至第 N 個未閉合的 '('

|[{|    N  [{        向後至第 N 個未閉合的 '{'

|[m|    N  [m        向後至第 N 個方法 (method) 的開始 (用於 Java)

|[M|    N  [M        向後至第 N 個方法的結束 (Method)  (用於 Java)

|])|    N  ])        向前至第 N 個未閉合的 ')'

|]}|    N  ]}        向前至第 N 個未閉合的 '}'

|]m|    N  ]m        向前至第 N 個方法 (method) 的開始 (用於 Java)

|]M|    N  ]M        向前至第 N 個方法的結束 (Method)  (用於 Java)

|[#|    N  [#        向後至第 N 個未閉合的 "#if" 或 "#else"

|]#|    N  ]#        向前至第 N 個未閉合的 "#else" 或 "#endif"

|[star|    N  [*        向後至第 N 個註釋的開始 "/*"

|]star|    N  ]*        向前至第 N 個註釋的結束 "*/"

------------------------------------------------------------------------------

*Q_pa*        模式查找


|/|    N  /{pattern}[/[offset]]<CR>

            向前查找第 N 次出現 {pattern} 的地方

|?|    N  ?{pattern}[?[offset]]<CR>

            向後查找第 N 次出現 {pattern} 的地方

|/<CR>|    N  /<CR>    向前重複上次查找

|?<CR>|    N  ?<CR>    向後重複上次查找

|n|    N  n        重複上次查找

|N|    N  N        相反方向重複上次查找

|star|    N  *        向前查找光標下的標識符

|#|    N  #        向後查找光標下的標識符

|gstar|    N  g*        同 "*",但也查找部分匹配

|g#|    N  g#        同 "*",但也查找部分匹配

|gd|       gd        至光標下標識符的局部聲明 (goto declaration)

|gD|       gD        至光標下標識符的全局聲明 (goto Declaration)


|pattern|        查找模式中的特殊字符


                含義          magic   nomagic    ~

                匹配任意單個字符    .    \.

                匹配行首    ^    ^

                匹配 <EOL>    $    $

                匹配單詞開始    \<    \<

                匹配單詞結束    \>    \>

                匹配單個標定範圍中的字符    [a-z]    \[a-z]

                匹配單個不在標定範圍中的字符    [^a-z]    \[^a-z]

                匹配一個標識符字符    \i    \i

                同上但不包括數字    \I    \I

                匹配一個關鍵字字符    \k    \k

                同上但不包括數字    \K    \K

                匹配一個文件名字符    \f    \f

                同上但不包括數字    \F    \F

                匹配一個可顯示的字符    \p    \p

                同上但不包括數字    \P    \P

                匹配一個空白字符    \s    \s

                匹配一個非空白字符    \S    \S


                匹配 <Esc>    \e    \e

                匹配 <Tab>    \t    \t

                匹配 <CR>    \r    \r

                匹配 <BS>    \b    \b


           匹配 0 或多個前面的匹配原    *    \*

           匹配 1 或多個前面的匹配原    \+    \+

          匹配 0 或 1 個前面的匹配原    \=    \=

          匹配 2 至 5 個前面的匹配原    \{2,5}    \{2,5}

            隔開兩種可替換的匹配    \|    \|

            組合模式爲單個匹配原    \(\)    \(\)


|search-offset|        查找命令後可用的偏移量


    [num]    向下 [num] 行,位於第一列

    +[num]    向下 [num] 行,位於第一列

    -[num]    向上 [num] 行,位於第一列

    e[+num]    匹配結尾 (end) 右方 [num] 個字符處

    e[-num]    匹配結尾 (end) 左方 [num] 個字符處

    s[+num]    匹配啓始 (start) 右方 [num] 個字符處

    s[-num]    匹配啓始 (start) 左方 [num] 個字符處

    b[+num]    同上 s[+num] (助記: begin)

    b[-num]    同上 s[-num] (助記: begin)

    ;{search-command}    接着執行 {search-command} 查找命令

------------------------------------------------------------------------------

*Q_ma*        位置標記和相關動作


|m|       m{a-zA-Z}    用標記 {a-zA-Z} 記錄當前位置

|`a|       `{a-z}    至當前文件中的標記 {a-z}

|`A|       `{A-Z}    至任何文件中的標記 {A-Z}

|`0|       `{0-9}    至 Vim 上次退出的位置

|``|       ``        至上次跳轉之前的位置

|`quote|   `"        至上次編輯此文件的位置

|`[|       `[        至上次被操作或放置的文本的開始

|`]|       `]        至上次被操作或放置的文本的結尾

|`<|       `<        至 (前次) 可視區域的開始

|`>|       `>        至 (前次) 可視區域的結尾

|`.|       `.        至當前文件最後被改動的位置

|'|       '{a-zA-Z0-9[]'"<>.}

            同 `,但同時移動至該行的第一個非空白字符

|:marks|  :marks    列出活動的標記

|CTRL-O|  N  CTRL-O    跳轉到跳轉表中第 N 個較早的位置

|CTRL-I|  N  CTRL-I    跳轉到跳轉表中第 N 個較晚的位置

|:ju|      :ju[mps]    列出跳轉表

------------------------------------------------------------------------------

*Q_vm*        其他動作


|%|       %        找到本行中下一個括號、方括號、註釋或

               "#if"/"#else"/"#endif" 並移動至與其對稱的位置

|H|    N  H        至窗口的第 N 行的第一個非空白字符處             (Home)

|M|       M        至窗口的中間行的第一個非空白字符處            (Middle)

|L|    N  L        至窗口的第 N 行 (從下方算) 的第一個非空白字符處 (Last)


|go|    N  go            至緩衝區的第 N 個字節

|:go|    :[range]go[to] [off]    至緩衝區的第 [off] 個字節

------------------------------------------------------------------------------

*Q_ta*        使用標籤


|:ta|       :ta[g][!] {tag}    跳轉到標籤 {tag}

|:ta|       :[count]ta[g][!]    跳轉到標籤列表裏第 [count] 個較新的標籤

|CTRL-]|      CTRL-]        跳轉到光標下的標籤,除非文件被改動

|:ts|       :ts[elect][!] [tag]    列出匹配的標籤並選擇其中一個跳轉

|:tjump|   :tj[ump][!] [tag]    跳轉到標籤 [tag],當有多個匹配時從列表中選擇

|:ltag|       :lt[ag][!] [tag]    跳轉到標籤 [tag] 並把匹配的標籤加到位置列表


|:tags|       :tags        顯示標籤列表

|CTRL-T|   N  CTRL-T        跳轉到標籤列表中第 N 個較早的標籤

|:po|       :[count]po[p][!]    跳轉到標籤列表中第 [count] 個較早的標籤

|:tnext|   :[count]tn[ext][!]    跳轉到向下第 [count] 個匹配的標籤

|:tp|       :[count]tp[revious][!] 跳轉到向上第 [count] 個匹配的標籤

|:tr|       :[count]tr[ewind][!] 跳轉到第 [count] 個匹配的標籤

|:tl|       :tl[ast][!]        跳轉到上次匹配的標籤


|:ptag|       :pt[ag] {tag}    打開一個顯示 {tag} 標籤的預覽窗口

|CTRL-W_}|     CTRL-W }        同 CTRL-] 但在預覽窗口顯示標籤

|:pts|       :pts[elect]        同 ":tselect" 但在預覽窗口顯示標籤

|:ptjump|  :ptj[ump]        同 ":tjump" 但在預覽窗口顯示標籤

|:pclose|  :pc[lose]        關閉標籤預覽窗口

|CTRL-W_z|     CTRL-W z        關閉標籤預覽窗口

------------------------------------------------------------------------------

*Q_sc*        屏幕滾動


|CTRL-E|    N  CTRL-E    窗口下滾 N 行 (缺省: 1)        (Extra)

|CTRL-D|    N  CTRL-D    窗口下滾 N 行 (缺省: 1/2 窗口) (Downwards)

|CTRL-F|    N  CTRL-F    窗口下滾 N 頁                  (Forwards)

|CTRL-Y|    N  CTRL-Y    窗口上滾 N 行 (缺省: 1)

|CTRL-U|    N  CTRL-U    窗口上滾 N 行 (缺省: 1/2 窗口) (Upwards)

|CTRL-B|    N  CTRL-B    窗口上滾 N 頁                  (Backwards)

|z<CR>|           z<CR> 或 zt    重畫,當前行置窗口頂端

|z.|           z.     或 zz    重畫,當前行置窗口正中

|z-|           z-     或 zb    重畫,當前行置窗口底端


以下僅當 'wrap' 選項關閉時生效:

|zh|        N  zh        屏幕右滾 N 個字符

|zl|        N  zl        屏幕左滾 N 個字符

|zH|        N  zH        屏幕右滾半個屏寬

|zL|        N  zL        屏幕左滾半個屏寬

------------------------------------------------------------------------------

*Q_in*        插入文本


|a|    N  a    在光標後添加文本 (N 次)

|A|    N  A    在行末添加文本 (N 次)

|i|    N  i    在光標前插入文本 (N 次) (亦: <Insert>)

|I|    N  I    在當前行的第一個非空白字符前插入文本 (N 次)

|gI|    N  gI    在第一欄中插入文本 (N 次)

|o|    N  o    在當前行下方開始新行,添加文本 (N 次)

|O|    N  O    在當前行上方開始新行,添加文本 (N 次)

|:startinsert|    :star[tinsert][!]   開始插入模式,當使用 [!] 時添加文本

|:startreplace| :startr[eplace][!]  開始替換模式,當使用 [!] 時從行末開始


在可視列塊模式下:

|v_b_I|    I    在所有選中的行之前插入相同的文本

|v_b_A|       A    在所有選中的行之後添加相同的文本

------------------------------------------------------------------------------

*Q_ai*        插入模式鍵


|insert-index|    插入模式命令的索引,以字母順序排列


離開插入模式:

|i_<Esc>|    <Esc>          結束插入模式,回到普通模式

|i_CTRL-C|    CTRL-C          同 <Esc>,但不使用縮寫

|i_CTRL-O|    CTRL-O {command}  執行命令 {command} 並回到插入模式


移動:

|i_<Up>|    光標鍵          左/右/上/下 移動光標

|i_<S-Left>|    shift-left/right  左/右 移動一個單詞

|i_<S-Up>|    shift-up/down      後/前 移動一個滿屏

|i_<End>|    <End>          光標至本行的末字符之後

|i_<Home>|    <Home>          光標至本行的首字符之上

------------------------------------------------------------------------------

*Q_ss*        插入模式特殊鍵


|i_CTRL-V|    CTRL-V {char}..      按本義插入字符,或插入十進制數的字節值

|i_<NL>|    <NL> 或 <CR> 或 CTRL-M 或 CTRL-J

                  開始新行

|i_CTRL-E|    CTRL-E          插入光標下方的字符

|i_CTRL-Y|    CTRL-Y          插入光標上方的字符


|i_CTRL-A|    CTRL-A          插入上次插入的文本

|i_CTRL-@|    CTRL-@          插入上次插入的文本並結束

                     插入模式

|i_CTRL-R|    CTRL-R {0-9a-z%#:.-="}    插入寄存器的內容

|i_CTRL-N|    CTRL-N          將下一個匹配的標識符插入光標前

|i_CTRL-P|    CTRL-P          將上一個匹配的標識符插入光標前

|i_CTRL-X|    CTRL-X ...      以各種方式補全光標前的單詞


|i_<BS>|    <BS> 或 CTRL-H      刪除光標前的一個字符

|i_<Del>|    <Del>          刪除光標下的一個字符

|i_CTRL-W|    CTRL-W          刪除光標前的一個單詞

|i_CTRL-U|    CTRL-U          刪除當前行的所有字符

|i_CTRL-T|    CTRL-T          在當前行首插入一個移位寬度的縮進

|i_CTRL-D|    CTRL-D          從當前行首刪除一個移位寬度的縮進

|i_0_CTRL-D|    0 CTRL-D      刪除當前行的所有縮進

|i_^_CTRL-D|    ^ CTRL-D      刪除當前行的所有縮進,恢復下一行的縮進

------------------------------------------------------------------------------

*Q_di*        二合字母


|:dig|       :dig[raphs]        顯示當前二合字母列表

|:dig|       :dig[raphs] {char1}{char2} {number} ...

                加入一個或多個二合字母到上述列表中


在插入或命令行方式下:

|i_CTRL-K|    CTRL-K {char1} {char2}

                  鍵入二合字母

|i_digraph|    {char1} <BS> {char2}

                  若 'digraph' 選項被置位則鍵入二合字母

------------------------------------------------------------------------------

*Q_si*        特殊插入


|:r|       :r [file]       將文件 [file] 的內容插入到光標之下

|:r!|       :r! {command}   將命令 {command}  的標準輸出插入到光標之下

------------------------------------------------------------------------------

*Q_de*        刪除文本


|x|    N  x        刪除光標之下及之後的 N 個字符

|<Del>| N  <Del>    刪除光標之下及之後的 N 個字符

|X|    N  X        刪除光標之前的 N 個字符

|d|    N  d{motion}    刪除動作 {motion} 覆蓋的文本

|v_d|       {visual}d    刪除高亮的文本

|dd|    N  dd        刪除 N 行

|D|    N  D        刪除至行尾 (及 N - 1 後續行)

|J|    N  J        連接 N - 1 行 (刪除 <EOL>)

|v_J|       {visual}J    連接高亮的行

|gJ|    N  gJ        同 "J",但不插入空格

|v_gJ|       {visual}gJ    同 "{visual}J",但不插入空格

|:d|    :[range]d [x]    刪除範圍 [range] 覆蓋的行 [存入寄存器 x]

------------------------------------------------------------------------------

*Q_cm*        複製與移動文本


|quote|      "{char}    在接下來的刪除、抽出或放置命令中使用寄存器 {char}

|:reg|      :reg        顯示所有寄存器的內容

|:reg|      :reg {arg}    顯示寄存器 {arg} 的內容

|y|      N  y{motion}    將動作 {motion} 覆蓋的文本抽出至一個寄存器

|v_y|         {visual}y    將高亮的文本抽出至一個寄存器

|yy|      N  yy        抽出 N 行至寄存器

|Y|      N  Y        抽出 N 行至寄存器

|p|      N  p        將一個寄存器的內容放置在光標位置後 (N 次)

|P|      N  P        將一個寄存器的內容放置在光標位置前 (N 次)

|]p|      N  ]p        同 p,但調整當前行的縮進

|[p|      N  [p        同 P,但調整當前行的縮進

|gp|      N  gp        同 p,但將光標留在新文本之後

|gP|      N  gP        同 P,但將光標留在新文本之後

------------------------------------------------------------------------------

*Q_ch*        改變文本


|r|      N  r{char}    以 {char} 替換 N 個字符

|gr|      N  gr{char}    替換 N 個字符並不影響佈局

|R|      N  R        進入替換模式 (重複鍵入的文本 N 次)

|gR|      N  gR        進入虛擬替換模式: 同替換模式,但不影響佈局

|v_b_r|         {visual}r{char}

            在可視列塊模式下: 以 {char} 替換選中文本的每個字符


    (修改 = 刪除文本並進入插入模式)

|c|      N  c{motion}    修改動作 {motion} 覆蓋的文本

|v_c|         {visual}c    修改高亮的文本

|cc|      N  cc        修改 N 行

|S|      N  S        修改 N 行

|C|      N  C        修改至行尾 (及 N - 1 後續行)

|s|      N  s        修改 N 個字符

|v_b_c|         {visual}c    在可視列塊模式下: 用鍵入的文本修改選中文本的每一行

|v_b_C|         {visual}C    在可視列塊模式下: 用鍵入的文本修改選中各行直至行末


|~|      N  ~        翻轉 N 個字符的大小寫並前進光標

|v_~|         {visual}~    翻轉高亮文本的大小寫

|v_u|         {visual}u    改高亮的文本爲小寫

|v_U|         {visual}U    改高亮的文本爲大寫

|g~|         g~{motion} 將動作 {motion} 覆蓋的文本翻轉大小寫

|gu|         gu{motion} 將動作 {motion} 覆蓋的文本改爲小寫

|gU|         gU{motion} 將動作 {motion} 覆蓋的文本改爲大寫

|v_g?|         {visual}g? 對高亮的文本做 rot13 編碼

|g?|         g?{motion} 對動作 {motion} 覆蓋的文本做 rot13 編碼


|CTRL-A|  N  CTRL-A    將光標之上或之後的數值增加 N

|CTRL-X|  N  CTRL-X    將光標之上或之後的數值減少 N


|<|      N  <{motion}    將動作 {motion} 覆蓋的所有行向左移動一個移位寬度

|<<|      N  <<        將 N 行向左移動一個移位寬度

|>|      N  >{motion}    將動作 {motion} 覆蓋的所有行向右移動一個移位寬度

|>>|      N  >>        將 N 行向右移動一個移位寬度

|gq|      N  gq{motion}    將動作 {motion} 覆蓋的所有行進行排版到 'textwidth' 寬

|:ce|      :[range]ce[nter] [width]

            將範圍 [range] 包括的行居中對齊

|:le|      :[range]le[ft] [indent]

            將範圍 [range] 中的行靠左對齊 (使用 [indent])

|:ri|      :[range]ri[ght] [width]

            將範圍 [range] 中的行靠右對齊

------------------------------------------------------------------------------

*Q_co*        複雜改動


|!|       N  !{motion}{command}<CR>

            將動作覆蓋的行用命令 {command} 過濾

|!!|       N  !!{command}<CR>

            將 N 行用命令 {command} 過濾

|v_!|          {visual}!{command}<CR>

            將高亮的行用命令 {command} 過濾

|:range!|  :[range]! {command}<CR>

            將範圍 [range] 包括的行用命令 {command} 過濾

|=|       N  ={motion}

            將動作覆蓋的行用 'equalprg' 過濾

|==|       N  ==    將 N 行用 'equalprg' 過濾

|v_=|          {visual}=

            將高亮的行用 'equalprg' 過濾

|:s|       :[range]s[ubstitute]/{pattern}/{string}/[g][c]

            以 {string} 替代範圍 [range] 包括的行中的 {pattern};

               與 [g] 共用,替代所有的出現的 {pattern};

               與 [c] 共用,確認每一次替代

|:s|       :[range]s[ubstitute] [g][c]

            以新的範圍和選項重複上一次的 ":s" 命令

|&|          &        不帶選項在當前行上重複上一次的 ":s" 命令

|:ret|       :[range]ret[ab][!] [tabstop]

            置 'tabstop' 爲新值並依據此值調整空白字符

------------------------------------------------------------------------------

*Q_vi*        可視模式


|visual-index|    可視模式命令列表。


|v|       v        以字符方式開始高亮           }  移動光標或使用

|V|       V        以行方式開始高亮           }  操作符來作用於

|CTRL-V|   CTRL-V    以列塊方式開始高亮           }  高亮的文本

|v_o|       o        交換高亮區域的開始處和光標位置

|gv|       gv        使用上一次的可視區域開始高亮

|v_v|       v        以字符方式開始高亮或停止高亮

|v_V|       V        以行方式開始高亮或停止高亮

|v_CTRL-V| CTRL-V    以列塊方式開始高亮或停止高亮

------------------------------------------------------------------------------

*Q_to*        文本對象 (僅適用於可視模式或在操作符後)


|v_aw|       N  aw    選擇 "一個單詞"                   (a word)

|v_iw|       N  iw    選擇 "內含單詞"                   (inner word)

|v_aW|       N  aW    選擇 "一個字串"                   (WORD)

|v_iW|       N  iW    選擇 "內含字串"

|v_as|       N  as    選擇 "一個句子"                   (sentence)

|v_is|       N  is    選擇 "內含句子"

|v_ap|       N  ap    選擇 "一個段落"                   (paragraph)

|v_ip|       N  ip    選擇 "內含段落"

|v_ab|       N  ab    選擇 "一個塊" (從 "[(" 至 "])")   (block)

|v_ib|       N  ib    選擇 "內含塊" (從 "[(" 到 "])")

|v_aB|       N  aB    選擇 "一個大塊" (從 "[{" 到 "]}") (Block)

|v_iB|       N  iB    選擇 "內含大塊" (從 "[{" 到 "]}")

|v_a>|       N  a>    選擇 "一個 <> 塊"

|v_i>|       N  i>    選擇 "內含 <> 塊"

|v_at|       N  at    選擇 "一個標籤塊" (從 <aaa> 到 </aaa>) (tag)

|v_it|       N  it    選擇 "內含標籤塊" (從 <aaa> 到 </aaa>)

|v_a'|       N  a'    選擇 "一個單引號字符串"

|v_i'|       N  i'    選擇 "內含單引號字符串"

|v_aquote| N  a"    選擇 "一個雙引號字符串"

|v_iquote| N  i"    選擇 "內含雙引號字符串"

|v_a`|       N  a`    選擇 "一個反引號字符串"

|v_i`|       N  i`    選擇 "內含反引號字符串"


------------------------------------------------------------------------------

*Q_re*        重複命令


|.|       N  .        重複最近一次改動 (將計數改爲 N)

|q|          q{a-z}    記錄鍵入的字符,存入寄存器 {a-z}

|q|          q{A-Z}    記錄鍵入的字符,添加進寄存器 {a-z}

|q|          q        終止記錄

|@|       N  @{a-z}    執行寄存器 {a-z} 的內容 (N 次)

|@@|       N  @@    重複上次的 @{a-z} 操作 (N 次)

|:@|       :@{a-z}    將寄存器 {a-z} 的內容當作 Ex 命令來執行

|:@@|       :@@        重複上次的 :@{a-z} 操作

|:g|       :[range]g[lobal]/{pattern}/[cmd]

            對 [range] 內所有匹配 {pattern} 的行執行

               Ex 命令 [cmd] (缺省: ":p")

|:g|       :[range]g[lobal]!/{pattern}/[cmd]

            對 [range] 內所有_不_匹配 {pattern} 的行執行

               Ex 命令 [cmd] (缺省: ":p")

|:so|       :so[urce] {file}

            從文件 {file} 讀入 Ex 命令

|:so|       :so[urce]! {file}

            從文件 {file} 讀入 Vim 命令

|:sl|       :sl[eep] [sec]

            在 [sec] 秒鐘內任何事也不做

|gs|       N  gs    睡 N 秒 (goto sleep)

------------------------------------------------------------------------------

*Q_km*        鍵盤映射


|:map|         :ma[p] {lhs} {rhs}      在普通及可視模式下將 {rhs} 映射爲 {lhs}

|:map!|         :ma[p]! {lhs} {rhs}  在插入及命令行模式下將 {rhs} 映射爲 {lhs}

|:noremap|   :no[remap][!] {lhs} {rhs}

                  同 ":map",但不對 {rhs} 重新映射

|:unmap|     :unm[ap] {lhs}      清除普通及可視模式下 {lhs} 的映射

|:unmap!|    :unm[ap]! {lhs}      清除插入及命令行模式下 {lhs} 的映射

|:map_l|     :ma[p] [lhs]      列出普通及可視模式下以 [lhs] 開始的映射

|:map_l!|    :ma[p]! [lhs]      列出插入及命令行模式下以 [lhs] 開始的映射

|:cmap|         :cmap/:cunmap/:cnoremap

                  同 ":map!"/":unmap!"/":noremap!"

                     但僅作用於命令行模式 (Command-line)

|:imap|         :imap/:iunmap/:inoremap

                  同 ":map!"/":unmap!"/":noremap!"

                     但僅作用於插入模式   (Insert)

|:nmap|         :nmap/:nunmap/:nnoremap

                  同 ":map"/":unmap"/":noremap",

                     但僅作用於普通模式   (Normal)

|:vmap|         :vmap/:vunmap/:vnoremap

                  同 ":map"/":unmap"/":noremap",

                     但僅作用於可視模式   (Visual)

|:omap|         :omap/:ounmap/:onoremap

                  同 ":map"/":unmap"/":noremap"

                     但僅作用於操作符等待模式

                                          (Operator-pending)

|:mapc|      :mapc[lear]      清除普通及可視模式下的映射

|:mapc|      :mapc[lear]!      清除插入及命令行模式下的映射

|:imapc|     :imapc[lear]      清除插入模式下的映射

|:vmapc|     :vmapc[lear]      清除可視模式下的映射

|:omapc|     :omapc[lear]      清除操作符等待模式下的映射

|:nmapc|     :nmapc[lear]      清除普通模式下的映射

|:cmapc|     :cmapc[lear]      清除命令行模式下的映射

|:mkexrc|    :mk[exrc][!] [file]  將當前的鍵盤映射、縮寫及設置寫入文件

                     [file] (缺省: ".exrc";使用 ! 覆蓋文件)

|:mkvimrc|   :mkv[imrc][!] [file]

                  同 ":mkexrc",但缺省爲 ".vimrc"

|:mksession| :mks[ession][!] [file]

                  同 ":mkvimrc",但同時存儲當前文件、窗口等信

                     息,使得用戶將來可以繼續當前對話

------------------------------------------------------------------------------

*Q_ab*        縮寫


|:abbreviate|    :ab[breviate] {lhs} {rhs}  爲 {rhs} 加入縮寫 {lhs}

|:abbreviate|    :ab[breviate] {lhs}       顯示以 {lhs} 開始的縮寫

|:abbreviate|    :ab[breviate]           顯示所有縮寫

|:unabbreviate|    :una[bbreviate] {lhs}       刪除 {lhs} 對應的縮寫

|:noreabbrev|    :norea[bbrev] [lhs] [rhs]  同 ":ab",但不對 [rhs] 重映射

|:iabbrev|    :iab/:iunab/:inoreab       同 ":ab",但僅適用於插入模式

|:cabbrev|    :cab/:cunab/:cnoreab       同 ":ab",但僅適用於命令行模式

|:abclear|    :abc[lear]           清除所有縮寫

|:cabclear|    :cabc[lear]           清除所有命令行模式縮寫

|:iabclear|    :iabc[lear]           清除所有插入模式縮寫

------------------------------------------------------------------------------

*Q_op*        選項


|:set|        :se[t]              顯示所有被改動的選項

|:set|        :se[t] all          顯示所有非 termcap 選項

|:set|        :se[t] termcap          顯示所有 termcap 選項

|:set|        :se[t] {option}          置位布爾選項 (開啓)

                      顯示字符串或數值選項

|:set|        :se[t] no{option}      復位布爾選項 (關閉)

|:set|        :se[t] inv{option}      逆轉布爾選項的值

|:set|        :se[t] {option}={value}      設置字符串/數值選項的值爲 {value}

|:set|        :se[t] {option}+={value}  將 {value} 附加到字符串選項裏,將

                      {value} 加到數值選項上

|:set|        :se[t] {option}-={value}  從 {value} 從字符串選項裏刪除,從

                      數值選項裏減去 {value}

|:set|        :se[t] {option}?      顯示 {option} 的值

|:set|        :se[t] {option}&      重置 {option} 爲其缺省值


|:setlocal|    :setl[ocal]          同 ":set",但對局部選項只設定局部值

|:setglobal|    :setg[lobal]          同 ":set",但對局部選項設定其全局值


|:fix|        :fix[del]          根據 't_kb' 的值設置 't_kD'

|:options|    :opt[ions]          打開一個新窗口,用來參看並設置選項,

                         選項們以功能分組,有單行的解釋,

                         並有指向幫助的鏈接


各選項的簡短說明:        *option-list*

'aleph'          'al'        Aleph 字母 (希伯來語) 的 ASCII 代碼

'allowrevins'      'ari'     允許插入和命令行模式的 CTRL-_

'altkeymap'      'akm'     缺省的第二語言 (波斯語/希伯來語)

'ambiwidth'      'ambw'    如何處理有多種寬度的 Unicode 字符

'antialias'      'anti'    Mac OS X: 用平滑反鋸齒的字體

'autochdir'      'acd'     根據當前窗口的文件切換目錄

'arabic'      'arab'    使用阿拉伯語爲缺省的第二語言

'arabicshape'      'arshape' 阿拉伯語的字型重整

'autoindent'      'ai'        根據上一行決定新行的縮進

'autoread'      'ar'        有 Vim 之外的改動時自動重讀文件

'autowrite'      'aw'        有改動時自動寫回文件

'autowriteall'      'awa'     類似於 'autowrite',但適用於更多命令

'background'      'bg'        "dark" 或 "light",用於色彩的高亮

'backspace'      'bs'        在一行開頭按退格鍵如何處理

'backup'      'bk'        覆蓋文件時保留備份文件

'backupcopy'      'bkc'     文件備份使用複製而不是換名

'backupdir'      'bdir'    備份文件使用的目錄列表

'backupext'      'bex'     備份文件使用的擴展名

'backupskip'      'bsk'     匹配這些模式的文件不予備份

'balloondelay'      'bdlay'   彈出氣泡之前的延遲 (以毫秒計)

'ballooneval'      'beval'   打開氣泡表達式求值功能

'balloonexpr'      'bexpr'   計算氣泡顯示內容的表達式

'binary'      'bin'     二進制方式讀/寫/編輯文件

'bioskey'      'biosk'   MS-DOS: 用 bios 調用取得字符輸入

'bomb'                文件頭附加字節順序標記 (Byte Order Mark)

'breakat'      'brk'     可以在此斷行的字符

'browsedir'      'bsdir'   開始瀏覽文件的目錄

'bufhidden'      'bh'        緩衝區不再在窗口顯示時的行爲

'buflisted'      'bl'        緩衝區是否顯示在緩衝區列表中

'buftype'      'bt'        緩衝區的特殊類型

'casemap'      'cmp'     指定字母大小寫如何改變

'cdpath'      'cd'        ":cd" 搜索的目錄列表

'cedit'                打開命令行窗口的鍵

'charconvert'      'ccv'     完成字符編碼轉換的表達式

'cindent'      'cin'     實現 C 程序的縮進

'cinkeys'      'cink'    設置 'cindent' 時啓動縮進的鍵

'cinoptions'      'cino'    設置 'cindent' 時如何縮進

'cinwords'      'cinw'    'si' 和 'cin' 在這些詞後加入額外的縮進

'clipboard'      'cb'        使用剪貼板作爲無名的寄存器

'cmdheight'      'ch'        命令行使用的行數

'cmdwinheight'      'cwh'     命令行窗口的高度

'colorcolumn'      'cc'        高亮指定列

'columns'      'co'        顯示屏幕的列數

'comments'      'com'     可以開始註釋行的模式

'commentstring'   'cms'     註釋的樣板;用於摺疊的標誌

'compatible'      'cp'        儘可能做到與 Vi 兼容

'complete'      'cpt'     指定插入模式的自動補全如何工作

'completefunc'      'cfu'     插入模式補全使用的函數

'completeopt'      'cot'     插入模式補全使用的選項

'concealcursor'      'cocu'    是否隱藏光標所在行的可隱藏文本

'conceallevel'      'cole'    是否顯示可隱藏文本

'confirm'      'cf'        詢問如何處理未保存/只讀的文件

'conskey'      'consk'   直接從控制檯讀入鍵擊 (只限於 MS-DOS)

'copyindent'      'ci'        使得 'autoindent' 使用已有的縮進結構

'cpoptions'      'cpo'     設定 Vi-兼容的行爲

'cryptmethod'      'cm'        文件寫入時所用的加密方法

'cscopepathcomp'  'cspc'    顯示路徑多少部分

'cscopeprg'      'csprg'   執行 cscope 的命令

'cscopequickfix'  'csqf'    用 quickfix 窗口得到 cscope 的結果

'cscoperelative'  'csre'    用 cscope.out 路徑目錄名作爲前綴

'cscopetag'      'cst'     用 cscope 處理標籤命令

'cscopetagorder'  'csto'    決定 ":cstag" 的搜索順序

'cscopeverbose'   'csverb'  增加 cscope 數據庫時給出消息

'cursorbind'      'crb'     光標移動時同時在其它窗口移動

'cursorcolumn'      'cuc'     高亮光標所在屏幕列

'cursorline'      'cul'     高亮光標所在屏幕行

'debug'                設爲 "msg" 可以看到所有的錯誤消息

'define'      'def'     查找宏定義所使用的模式

'delcombine'      'deco'    在單獨使用時刪除組合用字符

'dictionary'      'dict'    關鍵字自動補全所用的文件名

'diff'                當前窗口使用 diff 模式

'diffexpr'      'dex'     得到 diff 文件所用的表達式

'diffopt'      'dip'     使用 diff 模式的選項

'digraph'      'dg'        允許插入模式時輸入二合字母

'directory'      'dir'     交換文件所用的目錄名列表

'display'      'dy'        如何顯示文本的標誌位列表

'eadirection'      'ead'     'equalalways' 工作的方向

'edcompatible'      'ed'        切換 ":substitute" 命令的標誌位

'encoding'      'enc'     內部使用的編碼方式

'endofline'      'eol'     文件最後一行寫入換行符 <EOL>

'equalalways'      'ea'        自動使所有窗口大小相同

'equalprg'      'ep'        "=" 命令使用的外部命令

'errorbells'      'eb'        有錯誤信息時響鈴

'errorfile'      'ef'        QuickFix 模式的錯誤文件名

'errorformat'      'efm'     錯誤文件行格式的描述

'esckeys'      'ek'        插入模式下識別功能鍵

'eventignore'      'ei'        忽略的自動命令事件

'expandtab'      'et'        鍵入 <Tab> 時使用空格

'exrc'          'ex'        在當前目錄裏讀入 .vimrc 和 .exrc

'fileencoding'      'fenc'    多字節文本的文件編碼

'fileencodings'   'fencs'   參與自動檢測的字符編碼

'fileformat'      'ff'        文件輸入輸出使用的格式

'fileformats'      'ffs'     參與自動檢測的 'fileformat' 的格式

'fileignorecase'  'fic'     使用文件名時忽略大小寫

'filetype'      'ft'        自動命令使用的文件類型

'fillchars'      'fcs'     顯示特殊項目所使用的字符

'fkmap'          'fk'        波斯鍵盤映射

'foldclose'      'fcl'     當光標離開時關閉摺疊

'foldcolumn'      'fdc'     設定指示摺疊的列寬度

'foldenable'      'fen'     設置爲顯示所用打開的摺疊

'foldexpr'      'fde'     當 'foldmethod' 爲 "expr" 時使用的表達式

'foldignore'      'fdi'     當 'foldmethod' 爲 "indent" 時忽略的行

'foldlevel'      'fdl'     當摺疊級別高於此值時關閉摺疊

'foldlevelstart'  'fdls'    開始編輯文件的 'foldlevel'

'foldmarker'      'fmr'     當 'foldmethod' 爲 "marker" 時的標誌

'foldmethod'      'fdm'     摺疊的類型

'foldminlines'      'fml'     摺疊關閉所需的最少行數

'foldnestmax'      'fdn'     最大摺疊深度

'foldopen'      'fdo'     打開摺疊所使用的命令

'foldtext'      'fdt'     顯示關閉的摺疊所用的表達式

'formatlistpat'   'flp'     識別列表頭部的模式

'formatoptions'   'fo'        自動排版完成的方式

'formatprg'      'fp'        "gq" 命令使用的外部程序

'formatexpr'      'fex'     "gq" 命令使用的表達式

'fsync'          'fs'        文件寫回後是否激活 fsync()

'gdefault'      'gd'        缺省打開 ":substitute" 的 'g' 標誌

'grepformat'      'gfm'     'grepprg' 的輸出格式

'grepprg'      'gp'        ":grep" 使用的程序

'guicursor'      'gcr'     GUI: 光標形狀和閃爍的設置

'guifont'      'gfn'     GUI: 使用的字體名

'guifontset'      'gfs'     GUI: 使用的多字節字體名

'guifontwide'      'gfw'     雙倍寬度字符的字體名列表

'guiheadroom'      'ghr'     GUI: 用於窗口裝飾的像素空間

'guioptions'      'go'        GUI: 使用的部件和選項

'guipty'            GUI: ":!" 命令嘗試仿終端

'guitablabel'      'gtl'     GUI: 標籤頁定製的標籤

'guitabtooltip'   'gtt'     GUI: 標籤頁定製的工具提示

'helpfile'      'hf'        主幫助文件的完整路徑名

'helpheight'      'hh'        新幫助窗口的最小高度

'helplang'      'hlg'     首選幫助語言

'hidden'      'hid'     當緩衝區被放棄 (|abandon|) 時不卸載之

'highlight'      'hl'        設置若干場合下的高亮模式

'hlsearch'      'hls'     高亮最近的匹配搜索模式

'history'      'hi'        記住的命令行的行數

'hkmap'          'hk'        希伯來語的鍵盤映射

'hkmapp'      'hkp'     希伯來語的音節 (phonetic) 鍵盤映射

'icon'                讓 Vim 設定窗口圖標的文本

'iconstring'            Vim 圖標文本所用的字符串

'ignorecase'      'ic'        搜索模式時忽略大小寫

'imactivatekey'   'imak'    激活 X 輸入方法 (X input method) 的鍵擊

'imactivatefunc'  'imaf'    激活/關閉 X 輸入方法的函數

'imcmdline'      'imc'     開始編輯命令行時使用 IM

'imdisable'      'imd'     任何模式下不使用 IM

'iminsert'      'imi'     插入模式下使用 :lmap 或 IM

'imsearch'      'ims'     輸入搜索模式時使用 :lmap 或 IM

'imstatusfunc'    'imsf'    獲得 X 輸入方法的狀態的函數

'include'      'inc'     查找包含文件所使用的模式

'includeexpr'      'inex'    處理包含文件行所使用的表達式

'incsearch'      'is'        輸入搜索模式時同時高亮部分的匹配

'indentexpr'      'inde'    得到一行的縮進位置的表達式

'indentkeys'      'indk'    使用 'indentexpr' 時啓動縮進的鍵

'infercase'      'inf'     關鍵字自動補全的匹配調整大小寫

'insertmode'      'im'        開始編輯文件時進入插入模式

'isfname'      'isf'     文件和路徑名可用的字符

'isident'      'isi'     標識符可用的字符

'iskeyword'      'isk'     關鍵字可用的字符

'isprint'      'isp'     可顯示的字符

'joinspaces'      'js'        連接命令在句號之後加兩個空格

'key'                加密密鑰

'keymap'      'kmp'     鍵盤映射名

'keymodel'      'km'        允許用鍵擊開始/停止選擇

'keywordprg'      'kp'        "K" 命令所使用的程序

'langmap'      'lmap'    其他語言模式用的字母表字符

'langmenu'      'lm'        菜單使用的語言

'laststatus'      'ls'        當最近的窗口有狀態行時提示

'lazyredraw'      'lz'        執行宏時不重畫

'linebreak'      'lbr'     在空白處迴繞長行

'lines'                顯示屏幕的行數

'linespace'      'lsp'     字符之間的像素行數

'lisp'                自動 lisp 縮進

'lispwords'      'lw'        改變 lisp 縮進方式的單詞

'list'                顯示 <Tab> 和 <EOL>

'listchars'      'lcs'     list 模式下顯示用的字符

'loadplugins'      'lpl'     啓動時調入插件腳本

'macatsui'            Mac GUI: 使用 ATSUI 文本繪製

'magic'                改變搜索模式所用的特殊字符

'makeef'      'mef'     ":make" 所用的錯誤文件名

'makeprg'      'mp'        ":make" 命令所用的程序

'matchpairs'      'mps'     "%" 能匹配的字符對

'matchtime'      'mat'     顯示匹配括號的時間 (以十分之一秒計)

'maxcombine'      'mco'     顯示的最大組合用字符數

'maxfuncdepth'      'mfd'     用戶函數的最大遞歸深度

'maxmapdepth'      'mmd'     映射的最大遞歸深度

'maxmem'      'mm'        單個緩衝區可用的最大內存 (以千字節計)

'maxmempattern'   'mmp'     模式匹配使用的最大內存 (以千字節計)

'maxmemtot'      'mmt'     所有緩衝區可用的最大內存 (以千字節計)

'menuitems'      'mis'     菜單可用的最大項目數

'mkspellmem'      'msm'     在 |:mkspell| 壓縮樹前可用的內存

'modeline'      'ml'        在文件開頭或結尾識別模式行

'modelines'      'mls'     模式行的檢查行數

'modifiable'      'ma'        可否修改文本

'modified'      'mod'     緩衝區已被修改

'more'                全屏顯示時暫停列表

'mouse'                允許使用鼠標點擊

'mousefocus'      'mousef'  鍵盤焦點追隨鼠標點擊

'mousehide'      'mh'        輸入時隱藏鼠標指針

'mousemodel'      'mousem'  改變鼠標按鈕的含義

'mouseshape'      'mouses'  不同模式下改變鼠標指針的形狀

'mousetime'      'mouset'  鼠標雙擊之間的最大時間

'mzquantum'      'mzq'     MzScheme 線程的輪詢間隔

'nrformats'      'nf'        CTRL-A 命令識別的數字格式

'number'      'nu'        行前顯示行號

'numberwidth'      'nuw'     行號使用的列數

'omnifunc'      'ofu'     文件類型特定補全使用的函數

'opendevice'      'odev'    MS-Windows 上允許讀/寫設備

'operatorfunc'      'opfunc'  |g@| 操作符調用的函數

'osfiletype'      'oft'     不再支持

'paragraphs'      'para'    分隔段落的 nroff 宏

'paste'                允許粘貼文本

'pastetoggle'      'pt'        切換 'paste' 的鍵盤代碼

'patchexpr'      'pex'     用於給文件打補丁的表達式

'patchmode'      'pm'        保留文件最老的版本

'path'          'pa'        "gf" 等命令搜索用的目錄列表

'preserveindent'  'pi'        重排時保持原有的縮進結構

'previewheight'   'pvh'     預覽窗口的高度

'previewwindow'   'pvw'     標識預覽窗口

'printdevice'      'pdev'    用於 :hardcopy 的打印機名

'printencoding'   'penc'    用於打印的編碼方式

'printexpr'      'pexpr'   用於 :hardcopy 打印 PostScript 的表達式

'printfont'      'pfn'     用於 :hardcopy 的字體名

'printheader'      'pheader' 用於 :hardcopy 的頁眉格式

'printmbcharset'  'pmbcs'   用於 :hardcopy 的 CJK 字符集

'printmbfont'      'pmbfn'   用於 :hardcopy 的 CJK 輸出的字體名

'printoptions'      'popt'    控制 :hardcopy 輸出格式

'pumheight'      'ph'        彈出窗口的最大高度

'quoteescape'      'qe'        字符串裏使用的轉義字符

'readonly'      'ro'        禁止寫入緩衝區

'redrawtime'      'rdt'     'hlsearch' 和 |:match| 高亮的超時

'regexpengine'      're'        使用的缺省正規表達式引擎

'relativenumber'  'rnu'        每行前顯示相對行號

'remap'                允許映射可以遞歸調用

'report'            報告行改變的行數下限

'restorescreen'   'rs'        Win32: 退出時恢復屏幕

'revins'      'ri'        字符插入會反向進行

'rightleft'      'rl'        窗口爲從右到左模式

'rightleftcmd'      'rlc'     從右到左模式工作的編輯命令

'ruler'          'ru'        標尺,在狀態行裏顯示光標的行號和列號

'rulerformat'      'ruf'     定製標尺格式

'runtimepath'      'rtp'     用於運行時文件的目錄列表

'scroll'      'scr'     用 CTRL-U 和 CTRL-O 滾動的行數

'scrollbind'      'scb'     其他窗口滾動時滾動當前窗口

'scrolljump'      'sj'        滾動所需的最少行數

'scrolloff'      'so'        光標上下的最少行數

'scrollopt'      'sbo'     'scrollbind' 的行爲方式

'sections'      'sect'    分隔小節的 nroff 宏

'secure'            在當前目錄下以安全模式讀入 .vimrc

'selection'      'sel'     使用何種選擇方式

'selectmode'      'slm'     何時使用選擇模式而不是可視模式

'sessionoptions'  'ssop'    :mksession 的選項

'shell'          'sh'        使用外部命令的 shell 程序名字

'shellcmdflag'      'shcf'    執行命令所使用的 shell 的參數

'shellpipe'      'sp'        把 ":make" 結果輸出到錯誤文件的字符串

'shellquote'      'shq'     括起 shell 命令的字符

'shellredir'      'srr'     把過濾命令的輸出存到暫時文件的字符串

'shellslash'      'ssl'     shell 文件名使用正斜槓

'shelltemp'      'stmp'    shell 命令是否使用臨時文件

'shelltype'      'st'        Amiga: 影響如何使用 shell

'shellxescape'      'sxe'     'shellxquote' 爲 ( 時使用的轉義字符

'shellxquote'      'sxq'     類似於 'shellquote',但包括重定向

'shiftround'      'sr'        縮進列數對齊到 shiftwidth 的整數倍

'shiftwidth'      'sw'        (自動) 縮進使用的步進單位,以空白數目計

'shortmess'      'shm'     縮短消息長度的標誌位列表

'shortname'      'sn'        非 MS-DOS: 文件名假定爲 8.3 字符

'showbreak'      'sbr'     用於提示迴繞行開始的字符串

'showcmd'      'sc'        在狀態行裏顯示 (部分) 命令

'showfulltag'      'sft'     自動補全標籤時顯示完整的標籤匹配模式

'showmatch'      'sm'        插入括號時短暫跳轉到匹配的括號

'showmode'      'smd'     在狀態行上顯示當前模式的消息

'showtabline'      'stal'    是否顯示標籤頁行

'sidescroll'      'ss'        橫向滾動的最少列數

'sidescrolloff'   'siso'    在光標左右最少出現的列數

'smartcase'      'scs'     模式中有大寫字母時不忽略大小寫

'smartindent'      'si'        C 程序智能自動縮進

'smarttab'      'sta'     插入 <Tab> 時使用 'shiftwidth'

'softtabstop'      'sts'     編輯時 <Tab> 使用的空格數

'spell'                打開拼寫檢查

'spellcapcheck'   'spc'     定位句子尾部的模式

'spellfile'      'spf'     |zg| 和 |zw| 保存單詞的文件

'spelllang'      'spl'     拼寫檢查使用的語言

'spellsuggest'      'sps'     提供拼寫校正建議的方法

'splitbelow'      'sb'        分割窗口時新窗口在當前窗口之下

'splitright'      'spr'     新窗口在當前窗口之右

'startofline'      'sol'     命令移動光標到行的第一個非空白

'statusline'      'stl'     狀態行的定製格式

'suffixes'      'su'        多個匹配所忽略的後綴

'suffixesadd'      'sua'     搜索文件時附加的後綴

'swapfile'      'swf'     緩衝區是否使用交換文件

'swapsync'      'sws'     和交換文件同步的方式

'switchbuf'      'swb'     設置切換到別的緩衝區時的行爲

'synmaxcol'      'smc'     尋找語法項目的最大列數

'syntax'      'syn'     讀入當前緩衝區的語法

'tabstop'      'ts'        <Tab> 在文件裏使用的空格數

'tabline'      'tal'     終端標籤頁行的定製格式

'tabpagemax'      'tpm'     |-p| 和 "tab all" 的最大標籤頁數

'tagbsearch'      'tbs'     標籤文件裏用二分法查找

'taglength'      'tl'        標籤裏的有效字符數

'tagrelative'      'tr'        標籤文件裏的文件名是相對路徑

'tags'          'tag'     標籤命令使用的文件名列表

'tagstack'      'tgst'    把標籤推入標籤棧

'term'                終端名

'termbidi'      'tbidi'   終端支持雙向文本

'termencoding'      'tenc'    終端使用的編碼方式

'terse'                簡化部分消息

'textauto'      'ta'        已廢止,用 'fileformats'

'textmode'      'tx'        已廢止,用 'fileformat'

'textwidth'      'tw'        插入文本的最大寬度

'thesaurus'      'tsr'     關鍵字自動補全所用的同義詞字典

'tildeop'      'top'     波浪命令 "~" 以操作符方式工作

'timeout'      'to'        映射和鍵盤代碼等待超時

'timeoutlen'      'tm'        超時時間 (以毫秒計)

'title'                讓 Vim 設置窗口標題

'titlelen'            用於窗口標題的 'columns' 比例

'titleold'            舊的標題,用於退出時恢復

'titlestring'            用於 Vim 窗口標題的字符串

'toolbar'      'tb'        GUI: 工具欄顯示何種項目

'toolbariconsize' 'tbis'    工具欄圖標的大小 (只適用於 GTK 2)

'ttimeout'            映射等待超時

'ttimeoutlen'      'ttm'     鍵盤代碼超時時間 (以毫秒計)

'ttybuiltin'      'tbi'     在外部 termcap 之前先用內建的 termcap

'ttyfast'      'tf'        指示一個快速的終端連接

'ttymouse'      'ttym'    鼠標產生代碼的類型

'ttyscroll'      'tsl'     滾動的最大行數

'ttytype'      'tty'     'term' 的別名

'undodir'      'udir'    保存撤銷文件的位置

'undofile'      'udf'        把撤銷信息寫入一個文件裏

'undolevels'      'ul'        最多可以撤銷的改變個數

'undoreload'      'ur'        保存緩衝區重載撤銷的最大行數

'updatecount'      'uc'        刷新交換文件所需的字符數

'updatetime'      'ut'        刷新交換文件所需的毫秒數

'verbose'      'vbs'     給出詳細信息

'verbosefile'      'vfile'   消息寫入的文件

'viewdir'      'vdir'    :mkview 存儲文件的所在目錄

'viewoptions'      'vop'     指定 :mkview 保存的內容

'viminfo'      'vi'        啓動和退出時使用 .viminfo 文件

'virtualedit'      've'        何時使用虛擬編輯

'visualbell'      'vb'        使用可視鈴聲而不是響鈴

'warn'                當緩衝區改變時,對 shell 命令給出警告

'weirdinvert'      'wiv'        用於有特殊反轉方法的終端

'whichwrap'      'ww'        允許指定鍵跨越行邊界

'wildchar'      'wc'        用於通配符擴展的命令行字符

'wildcharm'      'wcm'     同 'wildchar',但對映射情況也適用

'wildignore'      'wig'     匹配這些模式的文件不會參與自動補全

'wildignorecase'  'wic'     匹配文件名時忽略大小寫

'wildmenu'      'wmnu'    命令行自動補全所使用的菜單

'wildmode'      'wim'     'wildchar' 命令行擴展所用的模式

'wildoptions'      'wop'     指定如何完成命令行補全

'winaltkeys'      'wak'     何時窗口系統處理 ALT 鍵

'window'      'wi'        CTRL-F 和 CTRL-B 滾動的行數

'winheight'      'wh'        當前窗口的最少行數

'winfixheight'      'wfh'     打開/關閉窗口時保持窗口高度

'winfixwidth'      'wfw'     打開/關閉窗口時保持窗口寬度

'winminheight'      'wmh'     任何窗口的最少行數

'winminwidth'      'wmw'     任何窗口的最少列數

'winwidth'      'wiw'     當前窗口的最少列數

'wrap'                長行迴繞並在下一行繼續

'wrapmargin'      'wm'        使 (硬) 迴繞開始的從右側起算的字符數

'wrapscan'      'ws'        搜索在文件尾折回文件頭

'write'                允許寫入文件

'writeany'      'wa'        寫入文件不需 "!" 強制

'writebackup'      'wb'        覆蓋文件時建立備份

'writedelay'      'wd'        每個字符延遲 (以毫秒計) (用於調試)

------------------------------------------------------------------------------

*Q_ur*        撤銷/重做命令


|u|      N  u        撤銷最近的 N 此改動

|CTRL-R|  N  CTRL-R    重做最近的 N 個被撤銷的改動

|U|         U        恢復最近被改動的行

------------------------------------------------------------------------------

*Q_et*        外部命令


|:shell|    :sh[ell]    開啓一個 shell

|:!|        :!{command}    通過一個 shell 執行命令 {command}

|K|           K        用 'keywordprg' 程序 (缺省: "man") 查光標下的

                   關鍵字

------------------------------------------------------------------------------

*Q_qf*        Quickfix 命令


|:cc|        :cc [nr]    顯示第 [nr] 個錯誤 (缺省爲同一錯誤)

|:cnext|    :cn        顯示下一個錯誤

|:cprevious|    :cp        顯示上一個錯誤

|:clist|    :cl        列出所有錯誤

|:cfile|    :cf        從文件 'errorfile' 讀入錯誤

|:cgetbuffer|    :cgetb        類似於 :cbuffer 但不跳轉到第一個錯誤

|:cgetfile|    :cg        類似於 :cfile 但不跳轉到第一個錯誤

|:cgetexpr|    :cgete        類似於 :cexpr 但不跳轉到第一個錯誤

|:caddfile|    :caddf        從錯誤文件加入錯誤到當前 quickfix 列表

|:caddexpr|    :cad        從表達式計算結果加入錯誤到當前 quickfix 列表

|:cbuffer|    :cb        從緩衝區文本讀入錯誤

|:cexpr|    :cex        從表達式計算結果讀入錯誤

|:cquit|    :cq        退出不保存並返回錯誤代碼 (至編譯器)

|:make|        :make [args]    啓動 make,讀入錯誤,並跳轉到第一個錯誤

|:grep|        :gr[ep] [args]    執行 'grepprg' 程序以找出匹配並跳轉到首個匹配

------------------------------------------------------------------------------

*Q_vc*        其他移動


|CTRL-L|       CTRL-L    清除並重畫屏幕

|CTRL-G|       CTRL-G    顯示當前文件名 (包括路徑) 和光標位置

|ga|           ga        以十進制、十六進制和八進制顯示當前光標下的字符

                   的 ASCII 值

|g8|           g8        對 utf-8 編碼: 顯示光標所在字符的十六進制字節

                   序列

|g_CTRL-G|       g CTRL-G    顯示當前光標的列、行、以及字符位置

|CTRL-C|       CTRL-C    在查找中: 中斷查找

|dos-CTRL-Break|   CTRL-Break    MS-DOS: 在查找中: 中斷查找

|<Del>|           <Del>    當輸入一個計數時: 刪除前一個輸入字符

|:version|    :ve[rsion]    顯示版本信息

|:mode|        :mode N        MS-DOS: 置屏幕模式爲 N (數值、C80、C4350 等)

|:normal|    :norm[al][!] {commands}

                執行普通模式命令

|Q|           Q        切換至 "Ex" 模式


|:redir|    :redir >{file}        重定向消息至文件 {file}

|:silent|    :silent[!] {command}    安靜地執行 {command} 命令

|:confirm|    :confirm {command}    退出、寫入等有未保存的改動或文件只讀時

                       詢問

|:browse|    :browse {command}    使用文件選擇對話框打開/讀入/寫入文件

------------------------------------------------------------------------------

*Q_ce*        命令行編輯


|c_<Esc>|    <Esc>           放棄命令行 (如果 'wildchar' 通配符是

                      <Esc>,鍵入兩次)


|c_CTRL-V|    CTRL-V {char}       按字面插入 {char}

|c_CTRL-V|    CTRL-V {number}    輸入十進制數表示的字符 (可達 3 個數位)

|c_CTRL-K|    CTRL-K {char1} {char2}

                   鍵入二合字母 (參見 |Q_di|)

|c_CTRL-R|    CTRL-R {0-9a-z"%#:-=}

                   插入指定寄存器的內容


|c_<Left>|    <Left>/<Right>       光標左移/右移

|c_<S-Left>|    <S-Left>/<S-Right> 光標左移/右移一個單詞

|c_CTRL-B|    CTRL-B/CTRL-E       光標移動至命令行行首/行尾


|c_<BS>|    <BS>           刪除光標前的字符

|c_<Del>|    <Del>           刪除光標下的字符

|c_CTRL-W|    CTRL-W           刪除光標前的單詞

|c_CTRL-U|    CTRL-U           刪除所有字符


|c_<Up>|    <Up>/<Down>       搜索以當前命令行開始的較早/較晚的命令

|c_<S-Up>|    <S-Up>/<S-Down>       從命令行歷史中回憶較早/較晚的命令

|:history|    :his[tory]       顯示命令行歷史


上下文關聯的命令行補全:


|c_wildchar|    'wildchar'  (缺省: <Tab>)

                根據光標前的命令行補全;如果有多個匹配,響鈴並

                顯示第一個;繼續 'wildchar' 將顯示下一個匹配

|c_CTRL-D|    CTRL-D        列出匹配光標前的模式的可能的匹配

|c_CTRL-A|    CTRL-A        插入匹配光標前的模式的所有的匹配

|c_CTRL-L|    CTRL-L        插入所有匹配當前模式的名字的最長的共同部分

|c_CTRL-N|    CTRL-N        在 'wildchar' 之後存在多個匹配時: 至下一匹配

|c_CTRL-P|    CTRL-P        在 'wildchar' 之後存在多個匹配時: 至上一匹配

------------------------------------------------------------------------------

*Q_ra*        Ex 範圍


|:range|    ,        分隔兩個行號

|:range|    ;        同上,但在解釋第二個行號之前先移動光標至第一個

                行號代表的行


|:range|    {number}    絕對行號

|:range|    .        當前行

|:range|    $        文件的最後一行

|:range|    %        等同於 1,$ (整個文件)

|:range|    *        等同於 '<,'> (可視區域)

|:range|    't        位置標記 t 的位置

|:range|    /{pattern}[/]    下一個匹配 {pattern} 的行

|:range|    ?{pattern}[?]    前一個匹配 {pattern} 的行


|:range|    +[num]        在前面的行號上加 [num] (缺省: 1)

|:range|    -[num]        從前面的行號裏減 [num] (缺省: 1)

------------------------------------------------------------------------------

*Q_ex*        特殊 Ex 字符


|:bar|        |        分隔兩個命令 (不適用於 ":global" 及 ":!")

|:quote|    "        開始註釋


|:_%|        %        當前文件名 (僅當期望文件名時)

|:_#|        #[num]    第 [num] 個輪換文件名 (僅當期望文件名時)

    注: 以下七項以字面意思鍵入;並非特殊鍵!

|:<abuf>|   <abuf>    緩衝區號,用於自動命令 (僅當期望文件名時)

|:<afile>|  <afile>    文件名,用於自動命令 (僅當期望文件名時)

|:<amatch>| <amatch>    匹配模式的內容,用於自動命令 (僅當期望文件名時)

|:<cword>|  <cword>    光標下的單詞 (僅當期望文件名時)

|:<cWORD>|  <cWORD>    光標下的字串 (僅當期望文件名時)

|:<cfile>|  <cfile>    光標下的文件名 (僅當期望文件名時)

|:<sfile>|  <sfile>    ":source" 的文件裏該文件的文件名 (僅當期望文件名時)


        在 "%"、"#"、"<cfile>"、"<sfile>" 或 "<afile>" 之後

        |::p|        :p        完整路徑

        |::h|        :h        頭部 (除去文件名)

        |::t|        :t        尾部 (僅使用文件名)

        |::r|        :r        根部 (除去擴展名)

        |::e|        :e        擴展名

        |::s|        :s/{pat}/{repl}/    以 {repl} 替換 {pat}

------------------------------------------------------------------------------

*Q_st*        啓動 Vim


|-vim|       vim [options]        啓動 vim 並開啓一個空白緩衝區

|-file|       vim [options] {file} ..    啓動並編輯一個或多個文件

|--|       vim [options] -        從標準輸入讀入文件

|-tag|       vim [options] -t {tag}    編輯與標籤 {tag} 關聯的文件

|-qf|       vim [options] -q [fname]    以 QuickFix 模式開始編輯並顯示首個錯誤


    最有用的 Vim 參數 (完整列表見 |startup-options|)


|-gui|    -g            啓動 GUI (同時允許其他選項)


|-+|    +[num]            置光標於第 [num] 行 (缺省: 末行)

|-+c|    +{command}        載入文件後執行命令 {command}

|-+/|    +/{pat} {file} ..   置光標於第一次出現 {pat} 的地方

|-v|    -v            Vi 模式,以普通模式啓動 ex

|-e|    -e            Ex 模式,以 Ex 模式啓動 vim

|-R|    -R            只讀模式,隱含 -n

|-m|    -m            禁止修改 (復位 'write' 選項)

|-d|    -d            diff 模式 |diff|

|-b|    -b            二進制模式

|-l|    -l            lisp 模式

|-A|    -A            阿拉伯模式 (置位 'arabic')

|-F|    -F            波斯模式 (置位 'fkmap' 和 'rightleft')

|-H|    -H            希伯來模式 (置位 'hkmap' 和 'rightleft')

|-V|    -V            詳細,給出更多信息

|-C|    -C            兼容,置位 'compatible' 選項

|-N|    -N            不兼容,復位 'compatible' 選項

|-r|    -r            給出交換文件列表

|-r|    -r {file} ..        恢復中斷的編輯

|-n|    -n            不創建交換文件

|-o|    -o [num]        打開 [num] 個窗口 (缺省: 每個文件一個窗口)

|-f|    -f            GUI: 前臺進程,不調用 fork

                Amiga: 不打開新窗口啓動 Vim (比如,用於 mail)

|-s|    -s {scriptin}        先從文件 {scriptin} 讀入命令

|-w|    -w {scriptout}        把鍵入的字符寫進文件 {scriptout} (添加)

|-W|    -W {scriptout}        把鍵入的字符寫進文件 {scriptout} (覆蓋)

|-T|    -T {terminal}        設置終端名

|-d|    -d {device}        Amiga: 打開 {device} 作爲控制檯使用

|-u|    -u {vimrc}        從文件 {vimrc} 而非其它文件讀入初始化命令

|-U|    -U {gvimrc}        同上,但用於啓動 GUI 時

|-i|    -i {viminfo}        從文件 {viminfo} 而不是其它文件讀入信息

|---|    --            結束選項,其餘的參數都將是文件名

|--help|    --help        顯示參數列表並退出

|--version| --version        顯示版本信息並退出

|--|    -            從標準輸入讀入文件

------------------------------------------------------------------------------

*Q_ed*        文件編輯


        無 !: 若當前緩衝區已被改動則失敗

        有 !: 放棄任何對當前緩衝區的改動

|:edit_f|  :e[dit][!] {file}    編輯 {file}

|:edit|       :e[dit][!]        重新載入當前文件

|:enew|       :ene[w][!]        編輯一個無名的新緩衝區

|:find|    :fin[d][!] {file}    在 'path' 當中查找文件 {file} 並編輯之


|CTRL-^|   N   CTRL-^        編輯第 N 個輪換文件名 (同 ":e #N")

|gf|           gf  或 ]f    編輯光標下的文件名對應的文件 (goto file)

|:pwd|       :pwd            顯示當前目錄名

|:cd|       :cd [path]        切換當前目錄到 [path]

|:cd-|       :cd -        回到上一次當前目錄

|:file|       :f[ile]        顯示當前文件名及光標位置

|:file|       :f[ile] {name}    置當前文件名爲 {name}

|:files|   :files        顯示所有的輪換文件名

------------------------------------------------------------------------------

*Q_fl*        使用參數列表                |argument-list|


|:args|       :ar[gs]        顯示參數列表,當前文件顯示在 "[]" 中

|:all|       :all  或 :sall    爲參數列表中的每個文件打開一個窗口

|:wn|       :wn[ext][!]        寫入當前文件並編輯下一個文件

|:wn|       :wn[ext][!] {file}    寫到 {file} 並編輯下一個文件,除非文件 {file}

                   已經存在。使用 !,覆蓋已存在的文件

|:wN|       :wN[ext][!] [file]    寫入當前文件並編輯前一個文件


         在當前窗口          新建窗口    ~

|:argument|  :argu[ment] N      :sar[gument] N    編輯第 N 個文件

|:next|         :n[ext]          :sn[ext]        編輯下一個文件

|:next_f|    :n[ext] {arglist}      :sn[ext] {arglist}    定義新的文件列表並編輯

                               其中的第一個

|:Next|         :N[ext]          :sN[ext]        編輯前一個文件

|:first|     :fir[st]          :sfir[st]        編輯第一個文件

|:last|         :la[st]          :sla[st]        編輯最後一個文件

------------------------------------------------------------------------------

*Q_wq*        寫入和退出


|:w|      :[range]w[rite][!]        寫入當前文件

|:w_f|      :[range]w[rite] {file}    寫入至文件 {file},除非其已經存在

|:w_f|      :[range]w[rite]! {file}    寫入至文件 {file}。覆蓋已存在的文件

|:w_a|      :[range]w[rite][!] >>        添加至當前文件

|:w_a|      :[range]w[rite][!] >> {file}    添加至文件 {file}

|:w_c|      :[range]w[rite] !{cmd}    執行命令 {cmd},以 [range] 限定的行作

                                           爲標準輸入

|:up|      :[range]up[date][!]        如果當前文件被改動則寫入

|:wall|      :wa[ll][!]            寫入所有被改動的緩衝區


|:q|      :q[uit]        退出當前緩衝區,除非已經做了改動。如果沒有其它

                   非幫助的緩衝區,退出 Vim

|:q|      :q[uit]!        強制退出當前緩衝區,放棄所有的改動。如果沒有其

                   它非幫助的緩衝區,退出 Vim

|:qa|      :qa[ll]        退出 Vim,除非作了改動

|:qa|      :qa[ll]!        退出 Vim,放棄所有改動

|:cq|      :cq            退出,不寫入文件並返回錯誤代碼


|:wq|      :wq[!]        寫入當前文件並退出

|:wq|      :wq[!] {file}        寫入文件 {file} 並退出

|:xit|      :x[it][!] [file]    同 ":wq" 但是僅當有改動時寫入

|ZZ|         ZZ            同 ":x"

|ZQ|         ZQ            同 ":q!"

|:xall|      :xa[ll][!]  或 :wqall[!]

                寫入所有改動的緩衝區並退出


|:stop|      :st[op][!]        掛起 Vim 或開始一個新 shell。如果置位了 'aw'

                   選項並沒有給出 [!] 則寫入緩衝區

|CTRL-Z|     CTRL-Z        同 ":stop"

------------------------------------------------------------------------------

*Q_ac*        自動命令


|viminfo-file|    啓動時讀入寄存器、標記、歷史記錄,退出時存儲這些信息。


|:rviminfo|    :rv[iminfo] [file]    從文件 [file] 讀入 viminfo 信息

|:rviminfo|    :rv[iminfo]! [file]    同上,但覆蓋已存在的信息

|:wviminfo|    :wv[iminfo] [file]    向文件 [file] 中加入 viminfo 信息

|:wviminfo|    :wv[iminfo]! [file]    向文件 [file] 中寫入 viminfo 信息


|modeline|    當編輯一個文件時自動設定的選項


|modeline|    vim:{set-arg}: ..    置於文件的前面或後面數行 (參見 'ml' 選

                       項),{set-arg} 爲傳遞給 ":set" 命令

                       的參數


|autocommand|    特定事件發生時自動執行命令。


|:autocmd|    :au            列出所有自動命令

|:autocmd|    :au {event}        列出針對事件 {event} 的所有自動命令

|:autocmd|    :au {event} {pat}    列出針對事件 {event} 並匹配 {pat} 的所

                       有自動命令

|:autocmd|    :au {event} {pat} {cmd}    加入針對事件 {event} 及匹配 {pat} 的新

                       自動命令

|:autocmd|    :au!            清除所有自動命令

|:autocmd|    :au! {event}        清除所有針對事件 {event} 的自動命令

|:autocmd|    :au! * {pat}        清除所有匹配 {pat} 的自動命令

|:autocmd|    :au! {event} {pat}    清除所有針對事件 {event} 及匹配 {pat}

                       的自動命令

|:autocmd|    :au! {event} {pat} {cmd}  清除所有針對事件 {event} 及匹配

                         {pat} 的自動命令並輸入新的

------------------------------------------------------------------------------

*Q_wi*        多窗口命令


|CTRL-W_s|    CTRL-W s  或  :split    將窗口分割成兩部分          (split)

|:split_f|    :split {file}        分隔窗口並在其中一個編輯 {file}

|:vsplit|    :vsplit {file}        同上,但垂直分割

|:vertical|    :vertical {cmd}        使命令 {cmd} 垂直分割

|:sfind|    :sf[ind] {file}        分割窗口,從 {path} 中找到文件

                       {file} 並編輯之

|CTRL-W_]|    CTRL-W ]        分割窗口並跳轉到光標下的標籤

|CTRL-W_f|    CTRL-W f        分割窗口並編輯光標下的文件名 (file)

|CTRL-W_^|    CTRL-W ^        分割窗口並編輯輪換文件

|CTRL-W_n|    CTRL-W n  或  :new    創建新空白窗口              (new)

|CTRL-W_q|    CTRL-W q  或  :q[uit]    退出編輯並關閉窗口          (quit)

|CTRL-W_c|    CTRL-W c  或  :cl[ose]    隱藏當前緩衝區並關閉窗口    (close)

|CTRL-W_o|    CTRL-W o  或  :on[ly]    使當前窗口成爲唯一窗口      (only)


|CTRL-W_j|    CTRL-W j        跳轉到下方窗口

|CTRL-W_k|    CTRL-W k        跳轉到上方窗口

|CTRL-W_CTRL-W|    CTRL-W CTRL-W        移動光標至下方窗口 (折轉)   (Wrap)

|CTRL-W_W|    CTRL-W W        移動光標至上方窗口 (折轉)   (wrap)

|CTRL-W_t|    CTRL-W t        跳轉到頂端窗口              (top)

|CTRL-W_b|    CTRL-W b        跳轉到底端窗口              (bottom)

|CTRL-W_p|    CTRL-W p        跳轉到上一次激活的窗口      (previous)


|CTRL-W_r|    CTRL-W r        向下旋轉窗口                (rotate)

|CTRL-W_R|    CTRL-W R        向上旋轉窗口                (Rotate)

|CTRL-W_x|    CTRL-W x        將當前窗口與下一個窗口對調  (eXchange)


|CTRL-W_=|    CTRL-W =        使所有窗口等高

|CTRL-W_-|    CTRL-W -        減少當前窗口高度

|CTRL-W_+|    CTRL-W +        增加當前窗口高度

|CTRL-W__|    CTRL-W _        設置當前窗口高度 (缺省: 很高)

------------------------------------------------------------------------------

*Q_bu*        緩衝區列表命令


|:buffers|    :buffers  或  :files    列出所有已知的緩衝區和文件名


|:ball|        :ball      或  :sball    編輯所有的參數/緩衝區

|:unhide|    :unhide   或  :sunhide    編輯所有載入的緩衝區


|:badd|        :badd {fname}        加入文件名 {fname} 到列表中

|:bunload|    :bunload[!] [N]        從內存中卸載緩衝區 [N]

|:bdelete|    :bdelete[!] [N]        從內存中卸載緩衝區 [N]  並從列表中刪除


        當前窗口內         新窗口內    ~

|:buffer|    :[N]buffer [N]     :[N]sbuffer [N]     至參數/緩衝區 N

|:bnext|    :[N]bnext [N]      :[N]sbnext [N]      至往後第 N 個參數/緩衝區

|:bNext|    :[N]bNext [N]      :[N]sbNext [N]      至往前第 N 個參數/緩衝區

|:bprevious|    :[N]bprevious [N]  :[N]sbprevious [N]  至往前第 N 個參數/緩衝區

|:bfirst|    :bfirst            :sbfirst            至第一個參數/緩衝區

|:blast|    :blast             :sblast             至最後一個參數/緩衝區

|:bmodified|    :[N]bmod [N]       :[N]sbmod [N]       至第 N 個改動過的緩衝區

------------------------------------------------------------------------------

*Q_sy*        語法高亮


|:syn-on|    :syntax on        開始使用語法高亮

|:syn-off|    :syntax off        停止使用語法高亮


|:syn-keyword|    :syntax keyword {group-name} {keyword} ..

                    添加語法關鍵字項目

|:syn-match|    :syntax match {group-name} {pattern} ...

                    加入語法匹配項目

|:syn-region|    :syntax region {group-name} {pattern} ...

                    添加語法區域項目

|:syn-sync|    :syntax sync [ccomment | lines {N} | ...]

                    設置語法高亮的同步方式

|:syntax|    :syntax [list]        列出當前語法項目

|:syn-clear|    :syntax clear        清除所有語法信息


|:highlight|    :highlight clear    清除所有高亮信息

|:highlight|    :highlight {group-name} {key}={arg} ..

                    爲語法組 {group-name} 設置高亮


|:filetype|    :filetype on        開啓文件類型檢測,不啓用語法高亮

|:filetype|    :filetype plugin indent on

                    開啓文件類型檢測,包括自動縮進及設置

------------------------------------------------------------------------------

*Q_gu*        GUI 命令


|:gui|        :gui            UNIX: 啓動 GUI

|:gui|        :gui {fname} ..        同上,並編輯 {fname} ..


|:menu|        :menu            列出所有菜單

|:menu|        :menu {mpath}        列出 {mpath} 下的所有菜單

|:menu|        :menu {mpath} {rhs}    把 {rhs} 加入菜單 {mpath}

|:menu|        :menu {pri} {mpath} {rhs}

                    同上,並帶有優先權 {pri}

|:menu|        :menu ToolBar.{name} {rhs}

                    把 {rhs} 加入工具欄

|:tmenu|    :tmenu {mpath} {text}    爲菜單 {mpath} 加入工具提示

|:unmenu|    :unmenu {mpath}        刪除菜單 {mpath}


------------------------------------------------------------------------------

*Q_fo*        摺疊


|'foldmethod'|    set foldmethod=manual    手動摺疊

        set foldmethod=indent    按照縮進摺疊

        set foldmethod=expr    按照表達式 'foldexpr' 摺疊

        set foldmethod=syntax    按照語法區域摺疊

        set foldmethod=marker    按照標誌 'foldmarker' 摺疊


|zf|        zf{motion}        操作符: 手動定義一個摺疊    (fold)

|:fold|        :{range}fold        將範圍 {range} 包括的行定義爲一個摺疊

|zd|        zd            刪除光標下的一個摺疊        (delete)

|zD|        zD            刪除光標下的所有摺疊        (Delete)


|zo|        zo            打開光標下的摺疊            (open)

|zO|        zO            打開光標下的所有摺疊        (Open)

|zc|        zc            關閉光標下的一個摺疊        (close)

|zC|        zC            關閉光標下的所有摺疊        (Close)


|zm|        zm            折起更多: 減少 'foldlevel'  (more)

|zM|        zM            關閉所有摺疊: 置 'foldlevel' 爲 0

|zr|        zr            減少摺疊: 增加 'foldlevel'  (reduce)

|zR|        zR            打開所有摺疊: 置 'foldlevel' 爲最大


|zn|        zn            不折疊: 復位 'foldenable'   (none)

|zN|        zN            正常摺疊: 置位 'foldenable' (Normal)

|zi|        zi            反轉 'foldenable'           (invert)


 vim:tw=78:ts=8:ft=help:norl:






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章