vim支持窗口分割和標簽頁,合適地使用這兩種特性可以使文字編輯工作更愉快。
1. 窗口分割
vim支持窗口的水平分割和垂直分割。以下是常用的操作指令或快捷鍵。
命令 | 說明 |
vim -o <files> | 打開多個文件,並將它們放在水平分割的窗口中 |
vim -O <files> | 打開多個文件,並將它們放在垂直分割的窗口中 |
:sp[lit] [file] | 不加file參數時,新建一個水平窗口,放置當前文件的副本; 新窗口將位於當前窗口的上面,光標停在新窗口中。 |
:vsp[lit] [file] | 不加file參數時,新建一個垂直窗口,放置當前文件的副本; 新窗口將位於當前窗口的左邊,光標停在新窗口中。 |
:qa[ll] | 關閉所有窗口並退出 |
:wa[ll] | 保存所有窗口中的內容 |
:on[ly] <Ctrl>+w+o |
關閉當前窗口之外的其他所有窗口 |
:clo[se] <Ctrl>+w+c |
關閉當前窗口 |
<Ctrl>+w+h | 將光標移動到當前窗口左邊的窗口 |
<Ctrl>+w+j | ..............................下........... |
<Ctrl>+w+k | ..............................上........... |
<Ctrl>+w+l | ..............................右........... (l是字母L的小寫) |
<Ctrl>+w+t | 將光標移動到第一個窗口 |
<Ctrl>+w+b | 將光標移動到最后一個窗口 |
<Ctrl>+w+H | 將當前窗口移動到最左邊 |
<Ctrl>+w+J | ...........................下... |
<Ctrl>+w+K | ...........................上... |
<Ctrl>+w+L | ...........................右... |
<Ctrl>+w+R | 將當前窗口列表向前滾動一個位置(如果有3個垂直窗口,一開始從左到右依次是 當只有兩個窗口時,交換這兩個窗口的位置。 |
<Ctrl>+w++ | 增加當前窗口的高度(默認是一行) |
<Ctrl>+w+- | 減小.................... |
<Ctrl>+w+> | 增加當前窗口的寬度(默認是一列) |
<Ctrl>+w+< | 減小.................... |
<Ctrl>+w+= | 使所有窗口的寬度/高度相同(既有水平窗口,又有垂直窗口的情況沒試過會怎么樣) |
:res[ize] <N> :res[ize] +<N> :res[ize] -<N> |
調整當前窗口的高度:為N行,增加N行,減小N行 |
:vert[ical] res[ize] <N> :vert[ical] res[ize] +<N> :vert[ical] res[ize] -<N> |
調整當前窗口的寬度:為N列,增加N列,減小N列 |
另外vim提供了quickfix窗口,在執行vimgrep之類的命令后,結果會顯示在quickfix窗口,運行:cw命令即可呼出此窗口。與quickfix的指令有
命令 | 說明 |
:cw | 如果有信息列表,則打開quickfix窗口;否則什么也不做 |
:cl | 列出所有信息 |
:cc | 顯示詳細信息 |
:cp | 跳到上一項 |
:cn | ......下一項 |
:copen | 打開quickfix窗口,可添加窗口高度參數,單位為行 |
:cclose | 關閉quickfix窗口 |
:cold[er] | 到前一個舊列表 |
:cnew | 到后一個新列表 |
2. 標簽頁
分割窗口有時候會顯得vim界面比較雜亂,這時候,標簽頁是另一個選擇。以下是常用的操作指令或快捷鍵。
命令 | 說明 |
vim -p <files> | 打開多個文件,並將它們放在標簽中 |
:tabe[dit] <file> | 在當前標簽頁之后新建一個標簽頁,在其中放置file的內容 |
:tabnew <file> | 新建一個文件file,並為它新建一個標簽頁 |
:tabo[only] | 關閉其他標簽頁 |
:tabc[lose] :q |
關閉當前標簽頁 |
gt | 打開下一個標簽頁 |
gT | ......上一個......... |
:tabfir[st] :tabr[ewind] |
打開第一個標簽頁 |
:tabl[ast] | 打開最后一個標簽頁 |
:tabm[ove] <N> :tabm[ove] +<N> :tabm[ove] -<N> |
移動標簽頁:移到到位置N,往右移N個位置,往左移N個位置 |
:tabs | 顯示當前標簽頁 |
:help tab-page-intro | 查詢標簽頁相關命令 |