INDEX
*index.txt* For Vim version 7.3. 最近更新: 2010年7月
VIM 參考手冊 by Bram Moolenaar
譯者: Willis
http://vimcdoc.sf.net
*index*
本文件包含各個模式下的所有命令的一個列表。包含它們的標簽和簡單說明。列表以
ASCII 值排序。
提示: 要找特定功能,使用搜索命令。例如,要找尋如何刪除,使用: "/刪除"。
1. 插入模式 |insert-index|
2. 普通模式 |normal-index|
2.1. 文本對象 |objects|
2.2. 窗口命令 |CTRL-W|
2.3. 方括號命令 |[|
2.4. 'g' 開頭的命令 |g|
2.5. 'z' 開頭的命令 |z|
3. 可視模式 |visual-index|
4. 命令行編輯 |ex-edit-index|
5. EX 命令 |ex-cmd-index|
選項總覽可見 help.txt |option-list|。
內建函數總覽可見 |functions|。
Vim 變量的列表可見 |vim-variable|。
幫助項目的完整列表可見 |help-tags|。
1. 插入模式 *insert-index*
標簽 字符 動作
|i_CTRL-@| CTRL-@ 插入最近插入的文本并停止插入
|i_CTRL-A| CTRL-A 插入最近插入的文本
CTRL-B 不用 |i_CTRL-B-gone|
|i_CTRL-C| CTRL-C 退出插入模式,不檢查縮寫,除非置位了
'insertmode'。
|i_CTRL-D| CTRL-D 在當前行刪除一個 shiftwidth 的縮進
|i_CTRL-E| CTRL-E 插入光標下方的字符
CTRL-F 不用 (但缺省是 'cinkeys' 中的一項,用以重新縮
進本行)
|i_CTRL-G_j| CTRL-G CTRL-J 往下一行,到插入開始的列
|i_CTRL-G_j| CTRL-G j 往下一行,到插入開始的列
|i_CTRL-G_j| CTRL-G <Down> 往下一行,到插入開始的列
|i_CTRL-G_k| CTRL-G CTRL-K 往上一行,到插入開始的列
|i_CTRL-G_k| CTRL-G k 往上一行,到插入開始的列
|i_CTRL-G_k| CTRL-G <Up> 往上一行,到插入開始的列
|i_CTRL-G_u| CTRL-G u 開始新的不可撤消的編輯
|i_<BS>| <BS> 刪除光標前的字符
|i_digraph| {char1}<BS>{char2}
輸入二合字母 (只有打開了 'digraph' 選項才有效)
|i_CTRL-H| CTRL-H 等同于 <BS>
|i_<Tab>| <Tab> 插入 <Tab> 字符
|i_CTRL-I| CTRL-I 等同于 <Tab>
|i_<NL>| <NL> 等同于 <CR>
|i_CTRL-J| CTRL-J 等同于 <CR>
|i_CTRL-K| CTRL-K {char1} {char2}
輸入二合字母
|i_CTRL-L| CTRL-L 'insertmode' 打開時: 離開插入模式
|i_<CR>| <CR> 開始新行
|i_CTRL-M| CTRL-M 等同于 <CR>
|i_CTRL-N| CTRL-N 查找光標前面的關鍵字的下一個匹配
|i_CTRL-O| CTRL-O 執行單個命令然后回到插入模式
|i_CTRL-P| CTRL-P 查找光標前面的關鍵字的前一個匹配
|i_CTRL-Q| CTRL-Q 等同于 CTRL-V,除非它用于終端控制流
|i_CTRL-R| CTRL-R {0-9a-z"%#*:=}
插入寄存器內容
|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z"%#*:=}
按本義插入寄存器內容
|i_CTRL-R_CTRL-O| CTRL-R CTRL-O {0-9a-z"%#*:=}
按本義插入寄存器內容,而且不自動縮進
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {0-9a-z"%#*:=}
按本義插入寄存器內容,而且修正縮進
CTRL-S (用于終端控制流)
|i_CTRL-T| CTRL-T 在當前行插入一個 shiftwidth 的縮進
|i_CTRL-U| CTRL-U 刪除當前行的所有輸入字符
|i_CTRL-V| CTRL-V {char} 按本義插入下一個非數字字符
|i_CTRL-V_digit| CTRL-V {number} 插入三位十進制數字代表的單個字節。
|i_CTRL-W| CTRL-W 刪除光標前的單詞
|i_CTRL-X| CTRL-X {mode} 進入 CTRL-X 子模式,見 |i_CTRL-X_index|
|i_CTRL-Y| CTRL-Y 插入光標上方的字符
|i_CTRL-Z| CTRL-Z 'insertmode' 打開時: 暫停 Vim
|i_<Esc>| <Esc> 結束插入模式 (除非打開了 'insertmode')
|i_CTRL-[| CTRL-[ 等同于 <Esc>
|i_CTRL-/_CTRL-N| CTRL-/ CTRL-N 進入普通模式
|i_CTRL-/_CTRL-G| CTRL-/ CTRL-G 進入 'insertmode' 指定的模式
CTRL-/ a - z 保留給擴展用
CTRL-/ others 不用
|i_CTRL-]| CTRL-] 切換縮寫
|i_CTRL-^| CTRL-^ 切換 |:lmap| 映射的使用
|i_CTRL-_| CTRL-_ 'allowrevins' 打開時: 改變語言
(希伯來語,波斯語等) {僅當編譯時加入
|+rightleft| 特性才有效}
<Space> to '~' 不用,除了 CTRL-D 之前的 '0' 和 '^'
|i_0_CTRL-D| 0 CTRL-D 刪除當前行的所有縮進
|i_^_CTRL-D| ^ CTRL-D 刪除當前行的所有縮進,在下一行恢復刪除的縮進
|i_<Del>| <Del> 刪除光標所在的字符
Meta 字符 (0x80 到 0xff,128 到 255)
不用
|i_<Left>| <Left> 光標左移一個字符
|i_<S-Left>| <S-Left> 光標左移一個單詞
|i_<C-Left>| <C-Left> 光標左移一個單詞
|i_<Right>| <Right> 光標右移一個字符
|i_<S-Right>| <S-Right> 光標右移一個單詞
|i_<C-Right>| <C-Right> 光標右移一個單詞
|i_<Up>| <Up> 光標上移一行
|i_<S-Up>| <S-Up> 等同于 <PageUp>
|i_<Down>| <Down> 光標下移一行
|i_<S-Down>| <S-Down> 等同于 <PageDown>
|i_<Home>| <Home> 光標移到行首
|i_<C-Home>| <C-Home> 光標移到文件首
|i_<End>| <End> 光標移到行尾后面
|i_<C-End>| <C-End> 光標移到文件尾后面
|i_<PageUp>| <PageUp> 滿屏上滾
|i_<PageDown>| <PageDown> 滿屏下滾
|i_<F1>| <F1> 等同于 <Help>
|i_<Help>| <Help> 停止插入模式顯示幫助窗口
|i_<Insert>| <Insert> 切換插入/替換模式
|i_<LeftMouse>| <LeftMouse> 光標移到鼠標點擊處
|i_<ScrollWheelDown>| <ScrollWheelDown> 窗口向下滾動三行
|i_<S-ScrollWheelDown>| <S-ScrollWheelDown> 窗口向下滾動完整一頁
|i_<ScrollWheelUp>| <ScrollWheelUp> 窗口向上滾動三行
|i_<S-ScrollWheelUp>| <S-ScrollWheelUp> 窗口向上滾動完整一頁
|i_<ScrollWheelLeft>| <ScrollWheelLeft> 窗口向左滾動六列
|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft> 窗口向左滾動完整一頁
|i_<ScrollWheelRight>| <ScrollWheelRight> 窗口向右滾動六列
|i_<S-ScrollWheelRight>| <S-ScrollWheelRight> 窗口向右滾動完整一頁
CTRL-X 子模式的命令 *i_CTRL-X_index*
|i_CTRL-X_CTRL-D| CTRL-X CTRL-D 補全定義過的標識符
|i_CTRL-X_CTRL-E| CTRL-X CTRL-E 上滾
|i_CTRL-X_CTRL-F| CTRL-X CTRL-F 補全文件名
|i_CTRL-X_CTRL-I| CTRL-X CTRL-I 補全標識符
|i_CTRL-X_CTRL-K| CTRL-X CTRL-K 從字典補全標識符
|i_CTRL-X_CTRL-L| CTRL-X CTRL-L 補全完整的行
|i_CTRL-X_CTRL-N| CTRL-X CTRL-N 下一個補全
|i_CTRL-X_CTRL-O| CTRL-X CTRL-O 全能 (omni) 補全
|i_CTRL-X_CTRL-P| CTRL-X CTRL-P 上一個補全
|i_CTRL-X_CTRL-S| CTRL-X CTRL-S 拼寫建議
|i_CTRL-X_CTRL-T| CTRL-X CTRL-T 從同義詞詞典補全標識符
|i_CTRL-X_CTRL-U| CTRL-X CTRL-U 用 'completefunc' 補全
|i_CTRL-X_CTRL-V| CTRL-X CTRL-V 如同 : 命令行那樣補全
|i_CTRL-X_CTRL-Y| CTRL-X CTRL-Y 下滾
|i_CTRL-X_CTRL-]| CTRL-X CTRL-] 補全標簽
|i_CTRL-X_s| CTRL-X s 拼寫建議
{僅當編譯時加入 |+insert_expand| 特性才有效}
2. 普通模式 *normal-index*
CHAR 任何非空白字符
Word 非空白字符的序列 (字串)
N 命令前輸入的數值
{motion} 光標移動命令
Nmove {motion} 移動經過的文本
SECTION 可能以 '}' 而不是 '{' 開始的小節
備注: 1 = 光標移動命令;2 = 可以撤消/重做
標簽 字符 備注 普通模式的動作
CTRL-@ 不用
|CTRL-A| CTRL-A 2 把 N 加到光標所在/之后的數值上
|CTRL-B| CTRL-B 1 反向 (Back) 滾動 N 屏
|CTRL-C| CTRL-C 終止當前的 (搜索) 命令
|CTRL-D| CTRL-D 向下 (Down) 滾動 N 行 (缺省: 半屏)
|CTRL-E| CTRL-E 向上滾動 N 行 (附加 (Extra) N 行)
|CTRL-F| CTRL-F 1 向前 (Forward) 滾動 N 屏
|CTRL-G| CTRL-G 顯示當前文件名和位置
|<BS>| <BS> 1 等同于 "h"
|CTRL-H| CTRL-H 1 等同于 "h"
|<Tab>| <Tab> 1 跳轉到跳轉表里第 N 個較新的項目
|CTRL-I| CTRL-I 1 等同于 <Tab>
|<NL>| <NL> 1 等同于 "j"
|CTRL-J| CTRL-J 1 等同于 "j"
CTRL-K 不用
|CTRL-L| CTRL-L 重畫屏幕
|<CR>| <CR> 1 光標移到 N 行下面的第一個 CHAR
|CTRL-M| CTRL-M 1 等同于 <CR>
|CTRL-N| CTRL-N 1 等同于 "j"
|CTRL-O| CTRL-O 1 跳轉到跳轉表里第 N 個較舊的項目
|CTRL-P| CTRL-P 1 等同于 "k"
CTRL-Q (用于終端控制流)
|CTRL-R| CTRL-R 2 重做 'u' 撤消的改變
CTRL-S (用于終端控制流)
|CTRL-T| CTRL-T 跳轉到標簽列表的第 N 個較老的標簽 (Tag)
|CTRL-U| CTRL-U 上滾 (Upwards) N 行 (缺省: 半屏)
|CTRL-V| CTRL-V 開始面向列塊的可視 (Visual) 模式
|CTRL-W| CTRL-W {char} 窗口命令,見 |CTRL-W|
|CTRL-X| CTRL-X 2 從光標所在/之后的數值上減去 N
|CTRL-Y| CTRL-Y 下滾 N 行
|CTRL-Z| CTRL-Z 暫停程序 (或者啟動新的外殼)
CTRL-[ <Esc> 不用
|CTRL-/_CTRL-N| CTRL-/ CTRL-N 進入普通 (Normal) 模式 (空動作)
|CTRL-/_CTRL-G| CTRL-/ CTRL-G 進入 'insertmode' 指定的模式
CTRL-/ a - z 保留作擴展用
CTRL-/ 其它 不用
|CTRL-]| CTRL-] :ta 到光標所在的標識符
|CTRL-^| CTRL-^ 編輯第 N 個輪換文件 (等價于 ":e #N")
CTRL-_ 不用
|<Space>| <Space> 1 等同于 "l"
|!| !{motion}{filter}
2 通過 {filter} 命令過濾 Nmove 文本
|!!| !!{filter} 2 通過 {filter} 命令過濾 N 行
|quote| "{a-zA-Z0-9.%#:-"} 指定下次刪除、抽出或放置使用的寄存器
{a-zA-Z0-9.%#:-"} (大寫用于添加)
({.%#:} 只能用于放置)
|#| # 1 反向搜索第 N 次出現的光標所在的標識符
|$| $ 1 光標移動到往下第 N 行的行尾之后
|%| % 1 查找本行下一個 (花/方) 括號,并轉到其匹配的
括號上,或者轉到匹配的注釋配對上,或者轉到
匹配的預處理命令上。
|N%| {count}% 1 轉到文件的百分之 N 的位置上
|&| & 2 重復上次 :s
|'| '{a-zA-Z0-9} 1 光標移動到位置標記 {a-zA-Z0-9} 所在行的第一
個 CHAR 上
|''| '' 1 光標移動到最近一次跳轉之前所在行的第一個
CHAR 上
|'(| '( 1 光標移動到當前句子的首部所在行的第一個 CHAR
上
|')| ') 1 光標移動到當前句子的尾部所在行的第一個 CHAR
上
|'<| '< 1 光標移動到當前緩沖區高亮區開始/曾經開始的行
的第一個 CHAR 上。
|'>| '> 1 光標移動到當前緩沖區高亮區結束/曾經結束的行
的第一個 CHAR 上。
|'[| '[ 1 光標移動到當前緩沖區最近操作/放置的文本的首
部所在行的第一個 CHAR 上
|']| '] 1 光標移動到當前緩沖區最近操作/放置的文本的尾
部所在行的第一個 CHAR 上
|'{| '{ 1 光標移動到當前段落的首部所在行的第一個 CHAR
上
|'}| '} 1 光標移動到當前段落的尾部所在行的第一個 CHAR
上
|(| ( 1 光標回退 N 個句子
|)| ) 1 光標前進 N 個句子
|star| * 1 正向搜索第 N 次出現的光標所在的標識符
|+| + 1 等同于 <CR>
|,| , 1 反方向重復最近的 f、t、F 或 T N 次
|-| - 1 光標移動到上方 N 行的第一個 CHAR 上
|.| . 2 重復最近的改變,其計數被 N 取代
|/| /{pattern}<CR> 1 正向搜索第 N 次出現的 {pattern}
|/<CR>| /<CR> 1 正向搜索最近一次搜索使用的 {pattern}
|count| 0 1 光標移動到本行的第一個字符上
|count| 1 附加于命令前,給出計數
|count| 2 "
|count| 3 "
|count| 4 "
|count| 5 "
|count| 6 "
|count| 7 "
|count| 8 "
|count| 9 "
|:| : 1 開始進入 Ex 命令
|N:| {count}: 開始進入 Ex 命令,給出從當前行開始到下方
N-1 行為止的行范圍
|;| ; 1 重復最近的 f、t、F 或 T N 次
|<| <{motion} 2 左移 Nmove 文本行一個 'shiftwidth'
|<<| << 2 左移 N 行一個 'shiftwidth'
|=| ={motion} 2 通過 "indent" 過濾 Nmove 文本行
|==| == 2 通過 "indent" 過濾 N 行
|>| >{motion} 2 右移 Nmove 文本行一個 'shiftwidth'
|>>| >> 2 右移 N 行一個 'shiftwidth'
|?| ?{pattern}<CR> 1 反向搜索第 N 次出現的 {pattern}
|?<CR>| ?<CR> 1 反向搜索最近一次搜索使用的 {pattern}
|@| @{a-z} 2 執行 {a-z} 寄存器的內容 N 次
|@:| @: 重復上次的 ":" 命令 N 次
|@@| @@ 2 重復上次的 @{a-z} N 次
|A| A 2 在行尾附加文本 N 次
|B| B 1 光標反向移動 N 個 WORD (字串)
|C| ["x]C 2 從光標位置到行尾部分,再加上 N-1 行進行修改
[到緩沖區 (譯者注: 應為寄存器,下同) x];等
價于 "c$"
|D| ["x]D 2 刪除位置到行尾部分,再加上 N-1 行的字符 [到
緩沖區 (見上) x];等價于 "d$"
|E| E 1 光標正向移動到第 N 個 WORD 的結束處
|F| F{char} 1 光標左移到第 N 次出現的 {char} 上
|G| G 1 光標移動到第 N 行,缺省是最后一行
|H| H 1 光標移動到屏幕頂部開始算的第 N 行
|I| I 2 在本行第一個 CHAR 之前插入文本 N 次
|J| J 2 連接 (Join) N 行;缺省為 2
|K| K 查找光標所在的關鍵字 (Keyword),使用
'keywordPRg' 的定義
|L| L 1 光標移動到屏幕底部開始算的第 N 行
|M| M 1 光標移動到屏幕的中間一行
|N| N 1 反方向重復最近的 '/' 或 '?' N 次
|O| O 2 在光標上方開始一個新行,并插入文本,重復 N
次
|P| ["x]P 2 在光標放置文本 [到緩沖區 (見上) x] N 次
|Q| Q 切換到 "Ex" 模式
|R| R 2 進入替換模式: 覆蓋存在的字符,重復輸入文本
N-1 次
|S| ["x]S 2 刪除 N 行 [到緩沖區 (見上) x]] 并開始輸入;
等價于 "cc"
|T| T{char} 1 光標移動到左側第 N 次出現的 {char} 之前
|U| U 2 撤消一行內所有最近的改變
|V| V 進入面向行的可視 (Visual) 模式
|W| W 1 光標前移 N 個 WORD
|X| ["x]X 2 刪除光標前的 N 個字符 [到緩沖區 (見上) x]
|Y| ["x]Y 抽出 N 行 [到緩沖區 (見上) x];等價于 "yy"
|ZZ| ZZ 如果修改過,保存當前文件,然后退出
|ZQ| ZQ 無論如何退出當前文件
|[| [{char} 方括號命令 (見下 |[|)
/ 不用
|]| ]{char} 方括號命令 (見下 |]|)
|^| ^ 1 光標移動到本行的第一個 CHAR 上
|_| _ 1 光標移動到下方第 N - 1 行的第一個 CHAR 上
|`| `{a-zA-Z0-9} 1 光標移動到位置標記 {a-zA-Z0-9}
|`(| `( 1 光標移動當前句子的開始處
|`)| `) 1 光標移動當前句子的結束處
|`<| `< 1 光標移動高亮區域的開始處
|`>| `> 1 光標移動高亮區域的結束處
|`[| `[ 1 光標移動最近一次操作/放置的文本的開始處
|`]| `] 1 光標移動最近一次操作/放置的文本的結束處
|``| `` 1 光標移動最近一次跳轉的位置
|`{| `{ 1 光標移動當前段落的開始處
|`}| `} 1 光標移動當前段落的結束處
|a| a 2 在光標處附加文本 N 次
|b| b 1 光標反向移動 N 個單詞
|c| ["x]c{motion} 2 刪除 Nmove 文本 [到緩沖區 (見上) x] 并開始
編輯
|cc| ["x]cc 2 刪除 N 行 [到緩沖區 (見上) x] 并開始編輯
|d| ["x]d{motion} 2 刪除 Nmove 文本 [到緩沖區 (見上) x]
|dd| ["x]dd 2 刪除 N 行 [到緩沖區 (見上) x]]
|do| do 2 等同于 ":diffget"
|dp| dp 2 等同于 ":diffput"
|e| e 1 光標正向移動到第 N 個單詞的結束處
|f| f{char} 1 光標右移到第 N 次出現的 {char} 上
|g| g{char} 擴展命令,見下 |g|
|h| h 1 光標左移 N 個字符
|i| i 2 在光標前插入文本 N 次
|j| j 1 光標下移 N 行
|k| k 1 光標上移 N 行
|l| l 1 光標右移 N 個字符
|m| m{A-Za-z} 在光標位置處設置位置標記 {A-Za-z}
|n| n 1 重復最近的 '/' 或 '?' N 次
|o| o 2 在光標下方開始一個新行,并插入文本,重復 N
次
|p| ["x]p 2 在光標后放置文本 [從寄存器 x] N 次
|q| q{0-9a-zA-Z"} 記錄輸入的字符到命令寄存器 {0-9a-zA-Z"}
(大寫用于添加)
|q| q (在記錄時) 停止記錄
|q:| q: 在命令行窗口里編輯 : 命令行
|q/| q/ 在命令行窗口里編輯 / 命令行
|q?| q? 在命令行窗口里編輯 ? 命令行
|r| r{char} 2 用 {char} 替換 N 個字符
|s| ["x]s 2 (替換) 刪除 N 個字符 [到緩沖區 (見上) x] 并
開始輸入
|t| t{char} 1 光標移動到右側第 N 次出現的 {char} 之前
|u| u 2 撤消改變
|v| v 開始面向字符的可視 (Visual) 模式
|w| w 1 光標前移 N 個單詞
|x| ["x]x 2 刪除光標開始的 N 個字符 [到緩沖區 (見上) x]
|y| ["x]y{motion} 抽出 Nmove 文本 [到緩沖區 (見上) x]
|yy| ["x]yy 抽出 N 行 [到緩沖區 (見上) x]
|z| z{char} 'z' 開始的命令,見下 |z|
|{| { 1 光標反向移動 N 個段落
|bar| | 1 光標移到第 N 列
|}| } 1 光標正向移動 N 個段落
|~| ~ 2 'tildeop' 關閉時: 切換光標所在處開始的 N 個
字符的大小寫,并右移光標 N 個字符
|~| ~{motion} 'tildeop' 打開時: 切換 Nmove 文本的大小寫
|<C-End>| <C-End> 1 等同于 "G"
|<C-Home>| <C-Home> 1 等同于 "gg"
|<C-Left>| <C-Left> 1 等同于 "b"
|<C-LeftMouse>| <C-LeftMouse> ":ta" 到鼠標點擊所在的單詞上
|<C-Right>| <C-Right> 1 等同于 "w"
|<C-RightMouse>| <C-RightMouse> 等同于 "CTRL-T"
|<Del>| ["x]<Del> 2 等同于 "x"
|N<Del>| {count}<Del> 刪除 {count} 最后的一位數字
|<Down>| <Down> 1 等同于 "j"
|<End>| <End> 1 等同于 "$"
|<F1>| <F1> 等同于 <Help>
|<Help>| <Help> 打開幫助窗口
|<Home>| <Home> 1 等同于 "0"
|<Insert>| <Insert> 2 等同于 "i"
|<Left>| <Left> 1 等同于 "h"
|<LeftMouse>| <LeftMouse> 1 移動光標到鼠標點擊處
|<MiddleMouse>| <MiddleMouse> 2 等同于在鼠標點擊處 "gP"
|<PageDown>| <PageDown> 等同于 CTRL-F
|<PageUp>| <PageUp> 等同于 CTRL-B
|<Right>| <Right> 1 等同于 "l"
|<RightMouse>| <RightMouse> 開始可視模式,移動光標到鼠標點擊處
|<S-Down>| <S-Down> 1 等同于 CTRL-F
|<S-Left>| <S-Left> 1 等同于 "b"
|<S-LeftMouse>| <S-LeftMouse> 等同于在鼠標點擊處 "*"
|<S-Right>| <S-Right> 1 等同于 "w"
|<S-RightMouse>| <S-RightMouse> 等同于在鼠標點擊處 "#"
|<S-Up>| <S-Up> 1 等同于 CTRL-B
|<Undo>| <Undo> 2 等同于 "u"
|<Up>| <Up> 1 等同于 "k"
|<ScrollWheelDown>| <ScrollWheelDown> 窗口向下滾動三行
|<S-ScrollWheelDown>| <S-ScrollWheelDown> 窗口向下滾動完整一頁
|<ScrollWheelUp>| <ScrollWheelUp> 窗口向上滾動三行
|<S-ScrollWheelUp>| <S-ScrollWheelUp> 窗口向上滾動完整一頁
|<ScrollWheelLeft>| <ScrollWheelLeft> 窗口向左滾動六列
|<S-ScrollWheelLeft>| <S-ScrollWheelLeft> 窗口向左滾動完整一頁
|<ScrollWheelRight>| <ScrollWheelRight> 窗口向右滾動六列
|<S-ScrollWheelRight>| <S-ScrollWheelRight> 窗口向右滾動完整一頁
2.1 文本對象 *objects*
他們可以用在操作符之后,或者在可視模式里選擇一個對象。
標簽 命令 普通模式下的動作
|v_aquote| a" 雙引號字符串
|v_a'| a' 單引號字符串
|v_a(| a( 等同于 ab
|v_a)| a) 等同于 ab
|v_a<| a< "一個 <> 塊" 從 '<' 到匹配的 '>'
|v_a>| a> 等同于 a<
|v_aB| aB "一個大塊" 從 "[{" 到 "]}" (帶上括號)
|v_aW| aW "一個字串" (帶上空白)
|v_a[| a[ "一個 [] 塊" 從 '[' 到匹配的 ']'
|v_a]| a] 等同于 a[
|v_a`| a` 反引號字符串
|v_ab| ab "一個塊" 從 "[(" 到 "])" (帶上括號)
|v_ap| ap "一個段落" (帶上空白)
|v_as| as "一個句子" (帶上空白)
|v_at| at "一個標簽塊" (帶上空白)
|v_aw| aw "一個單詞" (帶上空白)
|v_a{| a{ 等同于 aB
|v_a}| a} 等同于 aB
|v_iquote| i" 雙引號字符串,不帶引號
|v_i'| i' 單引號字符串,不帶引號
|v_i(| i( 等同于 ib
|v_i)| i) 等同于 ib
|v_i<| i< "內含 <> 塊" 從 '<' 到匹配的 '>'
|v_i>| i> 等同于 i<
|v_iB| iB "內含大塊" 從 "[{" 到 "]}"
|v_iW| iW "內含字串"
|v_i[| i[ "內含 [] 塊" 從 '[' 到匹配的 ']'
|v_i]| i] 等同于 i[
|v_i`| i` 反引號字符串,不帶反引號
|v_ib| ib "內含塊" 從 "[(" 到 "])"
|v_ip| ip "內含段落"
|v_is| is "內含句子"
|v_it| it "內含標簽塊"
|v_iw| iw "內含單詞"
|v_i{| i{ 等同于 iB
|v_i}| i} 等同于 iB
2.2 窗口命令 *CTRL-W*
標簽 命令 普通模式下的動作
|CTRL-W_CTRL-B| CTRL-W CTRL-B 等同于 "CTRL-W b"
|CTRL-W_CTRL-C| CTRL-W CTRL-C 等同于 "CTRL-W c"
|CTRL-W_CTRL-D| CTRL-W CTRL-D 等同于 "CTRL-W d"
|CTRL-W_CTRL-F| CTRL-W CTRL-F 等同于 "CTRL-W f"
CTRL-W CTRL-G 等同于 "CTRL-W g .."
|CTRL-W_CTRL-H| CTRL-W CTRL-H 等同于 "CTRL-W h"
|CTRL-W_CTRL-I| CTRL-W CTRL-I 等同于 "CTRL-W i"
|CTRL-W_CTRL-J| CTRL-W CTRL-J 等同于 "CTRL-W j"
|CTRL-W_CTRL-K| CTRL-W CTRL-K 等同于 "CTRL-W k"
|CTRL-W_CTRL-L| CTRL-W CTRL-L 等同于 "CTRL-W l"
|CTRL-W_CTRL-N| CTRL-W CTRL-N 等同于 "CTRL-W n"
|CTRL-W_CTRL-O| CTRL-W CTRL-O 等同于 "CTRL-W o"
|CTRL-W_CTRL-P| CTRL-W CTRL-P 等同于 "CTRL-W p"
|CTRL-W_CTRL-Q| CTRL-W CTRL-Q 等同于 "CTRL-W q"
|CTRL-W_CTRL-R| CTRL-W CTRL-R 等同于 "CTRL-W r"
|CTRL-W_CTRL-S| CTRL-W CTRL-S 等同于 "CTRL-W s"
|CTRL-W_CTRL-T| CTRL-W CTRL-T 等同于 "CTRL-W t"
|CTRL-W_CTRL-V| CTRL-W CTRL-V 等同于 "CTRL-W v"
|CTRL-W_CTRL-W| CTRL-W CTRL-W 等同于 "CTRL-W w"
|CTRL-W_CTRL-X| CTRL-W CTRL-X 等同于 "CTRL-W x"
|CTRL-W_CTRL-Z| CTRL-W CTRL-Z 等同于 "CTRL-W z"
|CTRL-W_CTRL-]| CTRL-W CTRL-] 等同于 "CTRL-W ]"
|CTRL-W_CTRL-^| CTRL-W CTRL-^ 等同于 "CTRL-W ^"
|CTRL-W_CTRL-_| CTRL-W CTRL-_ 等同于 "CTRL-W _"
|CTRL-W_+| CTRL-W + 增加當前窗口高度 N 行
|CTRL-W_-| CTRL-W - 減少當前窗口高度 N 行
|CTRL-W_<| CTRL-W < 減少當前窗口寬度 N 列
|CTRL-W_=| CTRL-W = 使得所有窗口同寬同高
|CTRL-W_>| CTRL-W > 增加當前窗口寬度 N 列
|CTRL-W_H| CTRL-W H 移動當前窗口到最左端
|CTRL-W_J| CTRL-W J 移動當前窗口到最底部
|CTRL-W_K| CTRL-W K 移動當前窗口到最頂部
|CTRL-W_L| CTRL-W L 移動當前窗口到最右端
|CTRL-W_P| CTRL-W P 跳轉到預覽窗口
|CTRL-W_R| CTRL-W R 向上旋轉窗口 N 次
|CTRL-W_S| CTRL-W S 等同于 "CTRL-W s"
|CTRL-W_T| CTRL-W T 移動當前窗口到新標簽頁
|CTRL-W_W| CTRL-W W 跳轉到前面第 N 個窗口 (回繞)
|CTRL-W_]| CTRL-W ] 分割窗口并跳轉到光標所在的標簽上
|CTRL-W_^| CTRL-W ^ 分割窗口并編輯輪換文件 N
|CTRL-W__| CTRL-W _ 設置當前窗口高度為 N (缺省: 盡量大)
|CTRL-W_b| CTRL-W b 跳轉到底部的窗口
|CTRL-W_c| CTRL-W c 關閉當前窗口 (類似于 |:close|)
|CTRL-W_d| CTRL-W d 分割窗口并跳轉到光標所在的定義上
|CTRL-W_f| CTRL-W f 分割窗口并跳轉到光標所在的文件名上
|CTRL-W_F| CTRL-W F 分割窗口并編輯光標所在的文件名,然后跳轉到
文件名后給出的行號上。
|CTRL-W_g_CTRL-]| CTRL-W g CTRL-] 分割窗口并在光標所在的標簽上執行 |:tjump|
|CTRL-W_g]| CTRL-W g ] 分割窗口并在光標所在的標簽上執行 |:tselect|
|CTRL-W_g}| CTRL-W g } 在光標所在的標簽上執行 |:ptjump|
|CTRL-W_gf| CTRL-W g f 在新的標簽頁里編輯光標所在的文件名
|CTRL-W_gF| CTRL-W g F 在新的標簽頁里編輯光標所在的文件名然后跳轉
到文件名后給出的行號上。
|CTRL-W_h| CTRL-W h 跳轉到左面第 N 個的窗口 (在首個窗口上停止)
|CTRL-W_i| CTRL-W i 分割窗口并跳轉到光標所在的標識符的聲明上
|CTRL-W_j| CTRL-W j 跳轉到下面第 N 個的窗口 (在最后窗口上停止)
|CTRL-W_k| CTRL-W k 跳轉到上面第 N 個的窗口 (在首個窗口上停止)
|CTRL-W_l| CTRL-W l 跳轉到右面第 N 個的窗口 (在最后窗口上停止)
|CTRL-W_n| CTRL-W n 打開新窗口,N 行高
|CTRL-W_o| CTRL-W o 關閉除了當前窗口以外的所有窗口 (類似于
|:only|)
|CTRL-W_p| CTRL-W p 轉到前面一個 (最近訪問的) 窗口
|CTRL-W_q| CTRL-W q 退出當前窗口 (類似于 |:quit|)
|CTRL-W_r| CTRL-W r 向下旋轉窗口 N 次
|CTRL-W_s| CTRL-W s 分割當前窗口為兩部分,新的窗口 N 行高
|CTRL-W_t| CTRL-W t 跳轉到頂部窗口
|CTRL-W_v| CTRL-W v 垂直分割當前窗口,新的窗口 N 列寬
|CTRL-W_w| CTRL-W w 轉到后面第 N 個窗口 (回繞)
|CTRL-W_x| CTRL-W x 交換當前和第 N 個窗口 (缺省: 下一個窗口)
|CTRL-W_z| CTRL-W z 關閉預覽窗口
|CTRL-W_bar| CTRL-W | 設置窗口寬度為 N 列
|CTRL-W_}| CTRL-W } 在預覽窗口里顯示光標所在的標簽
|CTRL-W_<Down>| CTRL-W <Down> 等同于 "CTRL-W j"
|CTRL-W_<Up>| CTRL-W <Up> 等同于 "CTRL-W k"
|CTRL-W_<Left>| CTRL-W <Left> 等同于 "CTRL-W h"
|CTRL-W_<Right>| CTRL-W <Right> 等同于 "CTRL-W l"
2.3 方括號命令 *[**]*
標簽 字符 備注 普通模式下的動作
|[_CTRL-D| [ CTRL-D 跳轉到第一個在當前文件和它包含的頭文件里匹
配光標所在的單詞的 #define,從當前文件的頭
部開始
|[_CTRL-I| [ CTRL-I 跳轉到第一個在當前文件和它包含的頭文件里匹
配光標所在單詞的位置,從當前文件頭部開始
|[#| [# 1 光標移動到前面第 N 個未匹配的 #if、#else 或
者 #ifdef
|['| [' 1 光標移動到前面的小寫位置標記,定位在它所在
行的第一個非空白字符上
|[(| [( 1 光標移動到前面第 N 個未匹配的 '('
|[star| [* 1 等同于 "[/"
|[`| [` 1 光標移動到前一個小寫位置標記
|[/| [/ 1 光標移動到前面第 N 個 C 注釋的開始處
|[D| [D 列出在當前文件和它包含的頭文件里匹配光標所
在的單詞的所有定義,從當前文件的頭部開始
|[I| [I 列出在當前文件和它包含的頭文件里匹配光標所
在單詞的所有位置,從當前文件的頭部開始
|[P| [P 2 等同于 "[p"
|[[| [[ 1 光標后退 N 個小節
|[]| [] 1 光標后退 N 個 SECTION
|[c| [c 1 光標后退 N 個更改開始的地方
|[d| [d 顯示第一個在當前文件和它包含的頭文件里匹配
光標所在的單詞的 #define,從當前文件的頭部
開始
|[f| [f 等同于 "gf"
|[i| [i 顯示第一個在當前文件和它包含的頭文件里匹配
光標所在單詞的位置,從當前文件的頭部開始
|[m| [m 1 光標后退 N 個成員函數的開始
|[p| [p 2 類似于 "P",但調整當前行的縮進
|[s| [s 1 移動到前一個拼寫錯誤的單詞
|[z| [z 1 移動到打開的折疊的開始
|[{| [{ 1 光標后退 N 個未匹配的 '{'
|[<MiddleMouse> [<MiddleMouse> 2 等同于 "[p"
|]_CTRL-D| ] CTRL-D 跳轉到第一個在當前文件和它包含的頭文件里匹
配光標所在的單詞的 #define,從光標位置開始
|]_CTRL-I| ] CTRL-I 跳轉到第一個在當前文件和它包含的頭文件里匹
配光標所在單詞的位置,從光標位置開始
|]#| ]# 1 光標移動到后面第 N 個未匹配的 #endif、#else
|]'| ]' 1 光標移動到后面的小寫位置標記,定位在它所在
行的第一個非空白字符上
|](| ]( 1 光標移動到后面第 N 個未匹配的 ')'
|]star| ]* 1 等同于 "]/"
|]`| ]` 1 光標移動到后一個小寫位置標記
|]/| ]/ 1 光標移動到后面第 N 個 C 注釋的結尾處
|]D| ]D 列出在當前文件和它包含的頭文件里匹配光標所
在的單詞的所有定義,從光標位置開始
|]I| ]I 列出在當前文件和它包含的頭文件里匹配光標所
在單詞的所有位置,從光標位置開始
|]P| ]P 2 等同于 "[p"
|]]| ]] 1 光標前進 N 個小節
|]]| ]] 1 光標前進 N 個 SECTION
|]c| ]c 1 光標前進 N 個更改開始的地方
|]d| ]d 顯示第一個在當前文件和它包含的頭文件里匹配
光標所在的單詞的 #define,從光標位置開始
|]f| ]f 等同于 "gf"
|]i| ]i 顯示第一個在當前文件和它包含的頭文件里匹配
光標所在單詞的位置,從光標位置開始
|]m| ]m 1 光標前進 N 個成員函數的結尾
|]p| ]p 2 類似于 "p",但調整當前行的縮進
|]s| ]s 1 移動到后一個拼寫錯誤的單詞
|]z| ]z 1 移動到打開的折疊的結尾處
|]{| ]{ 1 光標前進 N 個未匹配的 '}'
|]<MiddleMouse> ]<MiddleMouse> 2 等同于 "]p"
2.4 'g' 開始的命令 *g*
標簽 字符 備注 普通模式下的動作
|g_CTRL-A| g CTRL-A 只有在編譯時加入了 MEM_PROFILE 時才有定義:
轉儲內存內容
|g_CTRL-G| g CTRL-G 顯示當前光標位置
|g_CTRL-H| g CTRL-H 啟動選擇列塊模式
|g_CTRL-]| g CTRL-] |:tjump| 到光標所在的標簽上
|g#| g# 1 類似于 "#",但不使用 "/<" 和 "/>"
|g$| g$ 1 'wrap' 關閉時轉到當前行最右側屏幕上可見的字
符
'wrap' 打開時轉到當前屏幕行最右側的字符
|g&| g& 2 在所有行上重復上次的 ":s"
|g'| g'{mark} 1 類似于 |'|,但不改變跳轉表
|g`| g`{mark} 1 類似于 |`|,但不改表跳轉表
|gstar| g* 1 類似于 "*",但不使用 "/<" 和 "/>"
|g0| g0 1 'wrap' 關閉時轉到當前行最左側屏幕上可見的字
符
'wrap' 打開時轉到當前屏幕行最左側的字符
|g8| g8 顯示光標所在的 UTF-8 字符的十六進制字節碼
|g<| g< 顯示上次的命令輸出
|g?| g? 2 Rot13 編碼操作符
|g?g?| g?? 2 Rot13 編碼當前行
|g?g?| g?g? 2 Rot13 編碼當前行
|gD| gD 1 轉到當前文件的光標所在單詞的定義
|gE| gE 1 反向轉移到上一個 WORD 的結尾處
|gH| gH 啟動選擇行模式
|gI| gI 2 類似于 "I",但總是從第一列開始
|gJ| gJ 2 連接行,不插入空格
|gP| ["x]gP 2 在光標簽放置文本 [從寄存器 x] N 次,光標留
在插入文本之后
|gR| gR 2 進入虛擬替換模式
|gU| gU{motion} 2 使得 Nmove 文本全部大寫
|gV| gV 在執行選擇模式下的映射或者菜單時,不要重復
選擇過去的可視區域
|g]| g] :tselect 到光標所在的標簽上
|g^| g^ 1 'wrap' 關閉時轉到當前行最左側屏幕上可見的非
空白字符
'wrap' 打開時轉到當前屏幕行最左側的非空白字
符
|ga| ga 打印光標所在處的字符的 ascii 值
|gd| gd 1 轉到當前函數里當前光標所在的單詞的定義
|ge| ge 1 反向轉到前一個單詞的結尾處
|gf| gf 開始編輯當前光標所在的名字對應的文件
|gF| gF 開始編輯光標所在的文件名并跳轉到文件名后的
行號上。
|gg| gg 1 光標移動到第 N 行,缺省是第一行
|gh| gh 開始選擇模式
|gi| gi 2 類似于 "i",但先移動到 |'^| 位置標記
|gj| gj 1 類似于 "j",但 'wrap' 打開時往下 N 個屏幕行
|gk| gk 1 類似于 "k",但 'wrap' 打開時往上 N 個屏幕行
|gm| gm 1 轉到屏幕行正中間的那個字符
|go| go 1 光標移動到緩沖區的第 N 個字節
|gp| ["x]gp 2 在光標后面放置文本 [從寄存器 x] N 次,光標
留在后面
|gq| gq{motion} 2 排版 Nmove 文本
|gr| gr{char} 2 虛擬替換 N 個字符為 {char}
|gs| gs 睡眠 N 秒 (缺省 1)
|gu| gu{motion} 2 使得 Nmove 文本全部小寫
|gv| gv 重新選擇上次的可視區域
|gw| gw{motion} 2 排版 Nmove 文本并保持光標位置
|netrw-gx| gx 執行光標下的文件名對應的應用程序 (僅限于
|netrw| 插件)
|g@| g@{motion} 調用 'Operatorfunc'
|g~| g~{motion} 2 改變 Nmove 文本的大小寫
|g<Down>| g<Down> 1 等同于 "gj"
|g<End>| g<End> 1 等同于 "g$"
|g<Home>| g<Home> 1 等同于 "g0"
|g<LeftMouse>| g<LeftMouse> 等同于 <C-LeftMouse>
g<MiddleMouse> 等同于 <C-MiddleMouse>
|g<RightMouse>| g<RightMouse> 等同于 <C-RightMouse>
|g<Up>| g<Up> 1 等同于 "gk"
2.5 'z' 開始的命令 *z*
標簽 字符 備注 普通模式下的動作
|z<CR>| z<CR> 重畫,光標移動到窗口的頂行的第一個非空白字
符
|zN<CR>| z{height}<CR> 重畫,使得窗口高度為 {height} 行
|z+| z+ 光標移動到第 N 行 (缺省為窗口之后的第一
行),其它同 "z<CR>"
|z-| z- 重畫,光標移動到窗口末行的第一個非空白字符
|z.| z. 重畫,光標移動到窗口的中間行的第一個非空白
字符
|z=| z= 給出拼寫建議
|zA| zA 遞歸打開一個關閉的折疊或關閉一個打開的折疊
|zC| zC 遞歸關閉折疊
|zD| zD 遞歸刪除折疊
|zE| zE 除去所有折疊
|zF| zF 為 N 行建立折疊
|zG| zG 把單詞標記為拼寫正確 (good)
|zM| zM 設置 'foldlevel' 為零
|zN| zN 置位 'foldenable'
|zO| zO 遞歸打開折疊
|zR| zR 設置 'foldlevel' 為最大折疊級別
|zW| zW 把單詞標記為拼寫錯誤 (wrong)
|zX| zX 重新應用 'foldlevel'
|z^| z^ 光標移動到第 N 行 (缺省為窗口之前的一行),
其它同 "z-"
|za| za 打開關閉的折疊,或關閉打開的折疊
|zb| zb 重畫,光標在窗口底行
|zc| zc 關閉折疊
|zd| zd 刪除折疊
|ze| ze 'wrap' 關閉時,水平滾動使得光標定位到屏幕的
尾部 (最右側)
|zf| zf{motion} 為 Nmove 文本建立折疊
|zg| zg 把單詞標記為拼寫正確 (good)
|zh| zh 'wrap' 關閉時,水平右滾屏幕 N 個字符
|zi| zi 切換 'foldenable'
|zj| zj 1 移動到下一個折疊的開始處
|zk| zk 1 移動到前一個折疊的結束處
|zl| zl 'wrap' 關閉時,水平左滾屏幕 N 個字符
|zm| zm 從 'foldlevel' 減一
|zn| zn 復位 'foldenable'
|zo| zo 打開折疊
|zr| zr 給 'foldlevel' 加一
|zs| zs 'wrap' 關閉時,水平滾動使得光標定位到屏幕的
起始處 (最左側)
|zt| zt 重畫,光標移動到窗口的頂部
|zw| zw 把單詞標記為拼寫錯誤 (wrong)
|zv| zv 打開足夠的折疊,使得當前行可見
|zx| zx 重新應用 'foldlevel' 然后執行 "zv"
|zz| zz 重畫,光標移動到窗口的中間行
|z<Left>| z<Left> 等同于 "zh"
|z<Right>| z<Right> 等同于 "zl"
3. 可視模式 *visual-index*
可視模式下,大多數命令同普通模式的相同。以下列出的是不同的部分。
標簽 字符 備注 可視模式下的動作
|v_CTRL-/_CTRL-N| CTRL-/ CTRL-N 結束可視模式
|v_CTRL-/_CTRL-G| CTRL-/ CTRL-G 轉到 'insertmode' 指定的模式
|v_CTRL-C| CTRL-C 結束可視模式
|v_CTRL-G| CTRL-G 在可視模式和選擇模式間切換
|v_<BS>| <BS> 2 選擇模式: 刪除高亮區域
|v_CTRL-H| CTRL-H 2 等同于 <BS>
|v_CTRL-O| CTRL-O 從選擇模式切換到可視模式,只限于下個命令
|v_CTRL-V| CTRL-V 使得可視模式面向列塊,或者退出可視模式
|v_<Esc>| <Esc> 結束可視模式
|v_CTRL-]| CTRL-] 跳轉到高亮的標簽上
|v_!| !{filter} 2 通過外部命令 {filter} 過濾高亮行
|v_:| : 使用高亮行作為范圍,開始一個命令行
|v_<| < 2 左移高亮行一個 'shiftwidth'
|v_=| = 2 用 {equalprg} 選項指定的外部程序過濾高亮行
|v_>| > 2 右移高亮行一個 'shiftwidth'
|v_b_A| A 2 列塊模式下: 在高亮區域的所有行后附加相同的
文本
|v_C| C 2 刪除高亮行,并開始插入
|v_D| D 2 刪除高亮行
|v_b_I| I 2 列塊模式: 在所有高亮行之前插入相同的文本
|v_J| J 2 連接高亮行
|v_K| K 在高亮區域上運行 'keywordprg'
|v_O| O 水平移動到區域的另外一側
Q 不啟動 Ex 模式
|v_R| R 2 刪除高亮行并開始插入
|v_S| S 2 刪除高亮行并開始插入
|v_U| U 2 使得高亮區域全變大寫
|v_V| V 使得可視區域面向行,或者退出可視模式
|v_X| X 2 刪除高亮區域
|v_Y| Y 抽出高亮行
|v_aquote| a" 擴展高亮區域,使包含一個雙引號字符串
|v_a'| a' 擴展高亮區域,使包含一個單引號字符串
|v_a(| a( 等同于 ab
|v_a)| a) 等同于 ab
|v_a<| a< 擴展高亮區域,使包含一個 <> 塊
|v_a>| a> 等同于 a<
|v_aB| aB 擴展高亮區域,使包含一個 {} 塊
|v_aW| aW 擴展高亮區域,使包含 "一個 WORD"
|v_a[| a[ 擴展高亮區域,使包含一個 [] 塊
|v_a]| a] 等同于 a[
|v_a`| a` 擴展高亮區域,使包含一個反引號字符串
|v_ab| ab 擴展高亮區域,使包含一個 () 塊
|v_ap| ap 擴展高亮區域,使包含一個段落
|v_as| as 擴展高亮區域,使包含一個句子
|v_at| at 擴展高亮區域,使包含一個標簽塊
|v_aw| aw 擴展高亮區域,使包含 "一個單詞"
|v_a{| a{ 等同于 aB
|v_a}| a} 等同于 aB
|v_c| c 2 刪除高亮區域,并開始插入
|v_d| d 2 刪除高亮區域
|v_gJ| gJ 2 連接高亮行,不插入空格
|v_gq| gq 2 排版高亮行
|v_gv| gv 交換現在和以前的高亮區域
|v_iquote| i" 擴展高亮區域,使包含一個雙引號字符串 (但不
含引號)
|v_i'| i' 擴展高亮區域,使包含一個單引號字符串 (但不
含引號)
|v_i(| i( 等同于 ib
|v_i)| i) 等同于 ib
|v_i<| i< 擴展高亮區域,使包含內含 <> 塊
|v_i>| i> 等同于 i<
|v_iB| iB 擴展高亮區域,使包含內含 {} 塊
|v_iW| iW 擴展高亮區域,使包含 "內含 WORD"
|v_i[| i[ 擴展高亮區域,使包含內含 [] 塊
|v_i]| i] 等同于 i[
|v_i`| i` 擴展高亮區域,使包含一個反引號字符串 (但不
含反引號)
|v_ib| ib 擴展高亮區域,使包含內含 () 塊
|v_ip| ip 擴展高亮區域,使包含內含段落
|v_is| is 擴展高亮區域,使包含內含句子
|v_it| it 擴展高亮區域,使包含內含標簽塊
|v_iw| iw 擴展高亮區域,使包含 "內含單詞"
|v_i{| i{ 等同于 iB
|v_i}| i} 等同于 iB
|v_o| o 移動光標到區域的另一側
|v_r| r 2 刪除高亮區域,并開始插入
|v_s| s 2 刪除高亮區域,并開始插入
|v_u| u 2 使得高亮區域全變小寫
|v_v| v 使得可視模式面向字符,或者退出可視模式
|v_x| x 2 刪除高亮區域
|v_y| y 抽出高亮區域
|v_~| ~ 2 改變高亮區域的大小寫
4. 命令行編輯 *ex-edit-index*
使用 ':'、'!'、'/' 或 '?' 命令進入命令行編輯。
輸入普通字符會在當前光標位置插入該字符。
下面的 "補全" 指上下文相關的補全。如果可能,會補全文件名、標簽、命令等。
CTRL-@ 不用
|c_CTRL-A| CTRL-A 使用光標前面的模式進行補全,并插入所有的匹配
|c_CTRL-B| CTRL-B 光標移動到命令行開始的地方
|c_CTRL-C| CTRL-C 等同于 <ESC>
|c_CTRL-D| CTRL-D 列出光標前面模式的所有補全
|c_CTRL-E| CTRL-E 光標移動到命令行結束的地方
|'cedit'| CTRL-F 'cedit' 的缺省值: 打開命令行窗口;否則不用
CTRL-G 不用
|c_<BS>| <BS> 刪除光標前面的字符
|c_digraph| {char1} <BS> {char2}
'digraph' 打開時,輸入二合字母
|c_CTRL-H| CTRL-H 等同于 <BS>
|c_<Tab>| <Tab> 如果 'wildchar' 是 <Tab>: 補全光標前面的模式
|c_<S-Tab>| <S-Tab> 等同于 CTRL-P
|c_wildchar| 'wildchar' 補全光標前面的模式 (缺省: <Tab>)
|c_CTRL-I| CTRL-I 等同于 <Tab>
|c_<NL>| <NL> 等同于 <CR>
|c_CTRL-J| CTRL-J 等同于 <CR>
|c_CTRL-K| CTRL-K {char1} {char2}
輸入二合字母
|c_CTRL-L| CTRL-L 補全光標前的模式,并插入最長的公共子串
|c_<CR>| <CR> 執行輸入的命令
|c_<CR>| CTRL-M 等同于 <CR>
|c_CTRL-N| CTRL-N 使用 'wildchar' 并有多個匹配: 轉到下一個匹配,
不然: 等同于 <Down>
CTRL-O 不同
|c_CTRL-P| CTRL-P 使用 'wildchar' 并有多個匹配: 轉到上一個匹配,
不然: 等同于 <Up>
|c_CTRL-Q| CTRL-Q 等同于 CTRL-V,除非用于終端控制流
|c_CTRL-R| CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
插入寄存器的內容或特殊對象到光標所在的地方,如
同直接輸入那樣
|c_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
按本義插入寄存器的內容或特殊對象到光標所在的地
方
CTRL-S (用于終端控制流)
CTRL-T 不用
|c_CTRL-U| CTRL-U 刪除所有字符
|c_CTRL-V| CTRL-V 按本義插入下一個非數字字符,或者插入其后三位數
字所代表的單個字節。
|c_CTRL-W| CTRL-W 刪除光標前面的單詞
CTRL-X 不用 (保留作補全用)
CTRL-Y 復制 (抽出) 無模式的選擇
CTRL-Z 不用 (保留作暫停用)
|c_<Esc>| <Esc> 放棄命令行,不執行
|c_<Esc>| CTRL-[ 等同于 <Esc>
|c_CTRL-/_CTRL-N| CTRL-/ CTRL-N 轉到普通模式,放棄命令行
|c_CTRL-/_CTRL-G| CTRL-/ CTRL-G 轉到 'insertmode' 指定的模式,放棄命令行
CTRL-/ a - d 保留給擴展用
|c_CTRL-/_e| CTRL-/ e {expr} 以 {expr} 的結果替換命令行
CTRL-/ f - z 保留給擴展用
CTRL-/ 其它 不用
|c_CTRL-]| CTRL-] 激活縮寫
|c_CTRL-^| CTRL-^ 切換 |:lmap| 映射的使用
|c_CTRL-_| CTRL-_ 'allowrevins' 打開時: 改變語言 (希伯來,波斯)
|c_<Del>| <Del> 刪除光標所在的字符
|c_<Left>| <Left> 光標左移
|c_<S-Left>| <S-Left> 光標左移一個單詞
|c_<C-Left>| <C-Left> 光標左移一個單詞
|c_<Right>| <Right> 光標右移
|c_<S-Right>| <S-Right> 光標右移一個單詞
|c_<C-Right>| <C-Right> 光標右移一個單詞
|c_<Up>| <Up> 從歷史中調入匹配光標前模式的前一個命令行
|c_<S-Up>| <S-Up> 從歷史中調入前一個命令行
|c_<Down>| <Down> 從歷史中調入匹配光標前模式的后一個命令行
|c_<S-Down>| <S-Down> 從歷史中調入后一個命令行
|c_<Home>| <Home> 光標移動到命令行開始的地方
|c_<End>| <End> 光標移動到命令行結束的地方
|c_<PageDown>| <PageDown> 等同于 <S-Down>
|c_<PageUp>| <PageUp> 等同于 <S-Up>
|c_<Insert>| <Insert> 切換插入/替換模式
|c_<LeftMouse>| <LeftMouse> 光標移動到鼠標點擊的地方
亞瑟王,你找到 (圣杯) 了! *holy-grail*
5. EX 命令 *ex-cmd-index**:index*
這里是一個簡短但完整的 ":" 命令的列表。這里不討論參數。命令可選的部分用 [] 括
起。命令按照名字非可選部分排序。
|:!| :! 過濾行,或可通過外部命令執行之
|:!!| :!! 重復上次的 ":!" 命令
|:#| :# 等同于 ":number"
|:&| :& 重復上次的 ":su
新聞熱點
疑難解答