本文出自 http://blog.csdn.net/shuangde800chrome
------------------------------------------------------------------------------------------------vim
vim提供多窗口編輯的功能,能夠簡化複合的編輯任務。vim的多窗口並非說在終端上啓動多個vim實例。瀏覽器
vim的多窗口是動態的,能夠開始編輯時就打開多窗口,也能夠工做時隨時增長新窗口,或者刪除一個窗口。ide
$ vim -o file1 file2 打開一個編輯會話,顯示爲水平分割成兩半的窗口,一個文件佔用一個窗口。佈局
$ vim -O file1 file2 和上面相同,不過是垂直分割兩半的窗口
ui
以下 圖所示:spa
若是畫面分割後不足以容納下全部窗口,那麼第一個文件會佔用大部分窗口,餘下的窗口則載入緩衝區,暫時不能看到,但仍能夠取用。.net
-o後面加一個數字n,是預分配窗口的形式打開:firefox
$ vim -o5 file1 file2 將分配5個相同的窗口,有3個是閒置的blog
:split 新建一個窗口,將當前窗口分割成兩半,他們顯示的是相同緩衝區的內容(同一個文件)。這樣就能夠在兩個窗口中瀏覽相同的文件了。
:vsplit 建立全新的垂直分割的窗口,一樣是顯示和當前窗口同一個文件內容。效果以下:
當多個窗口編輯同一個文件時,在任意一個窗口進行編輯(例如刪除一行),那麼全部相同文件的窗口上都會同時反應效果,由於他們共享同一個文件緩衝區。
若是想編輯或瀏覽另外一個文件,而又不想失去在當前文件中的編輯位置,就用新文件的參數傳給:split命令
:split otherfile
:[n] split(vsplit) [++opt] [+cmd] [file]
命令中:
n 爲vim指定在新窗口中顯示的行數,且新窗口的大小恰好容納該行數,新窗口位於畫面頂端
opt 傳遞vim選項信息給新的窗口會話(請注意,它的前面必須加上兩個加號)
cmd 傳入欲在新窗口中執行的命令(請注意,它的前面必須加上一個加號)
file 指定在新窗口中編輯的文件
:sview filename 以只讀的方式水平分割打開一個新窗口
:sfind [++opt] [+cmd] [file] 和split的運做方式類似,但在path中尋找filename,若是vim未找到文件則不顯示
在gvim或vim中,在窗口中移動其實很是簡單,由於gvim已默認支持鼠標點擊來換編輯窗口,而vim中,則能夠打開mouse選項,
:set mouse = a 爲命令、輸入、導航都激活鼠標的使用
咱們知道vim的特點就是能夠脫離鼠標而工做,因此能夠使用vim提供的全套導航命令,在會話中快速而準確的移動編輯窗口。
按住Ctrl + W,而後再加上h, j, k, l,分別表示向左、下、上、右移動窗口
Ctrl + w + h:向左移動窗口
Ctrl + w + j: 向下移動窗口
Ctrl + w + j: 向上移動窗口
Ctrl + w + l: 向右移動窗口
Ctrl + w + w:這個命令會在全部窗口中循環移動
Ctrl + w + t:移動到最左上角的窗口
Ctrl + w + b:移動到最右下角的窗口
Ctrl + w + p:移動到前一個訪問的窗口
vim中有兩種移動窗口方式,一種只是簡單地在屏幕上切換窗口,尺寸維持不變;另外一種則是改變窗口的實際佈局,還會調整尺寸,以填充它移動的位置。
Ctrl + w + r:向右或向下方交換窗口,而Ctrl + w + R則和它方向相反。
光標會隨着窗口而移動
Ctrl + w + x:交換同列或同行的窗口的位置。vim默認交換當前窗口的與它下一個窗口的位置,若是下方沒有窗口,則試着與上一個窗口交換位置。亦可在此命令前加上數量,與制定的窗口交換位置。
注:下面的第三個字母都是大寫,按玩Ctrl + w以後,按shif + 相應的字母。後面用^代替Ctrl
Ctrl + w + K :移動當前窗口至屏幕頂端,並佔用所有寬度
^WJ: 移動窗口至屏幕底端,並佔用所有寬度
^WH:移動窗口至屏幕左端,並佔用所有高度
^WL:移動窗口至屏幕右端,並佔用所有高度
^WT :移動窗口至屏新的現有分頁
改變當前窗口的尺寸,同時固然也會影響到其餘窗口。
在gvim和vim中,能夠用鼠標點擊窗口的頂部白色條並窗口直接調整尺寸。
也能夠直接用命令,調整尺寸命令也是以Ctrl + W開頭:
Ctrl + W + = :讓全部窗口調整至相同尺寸(平均劃分)
Ctrl + W + -:將當前窗口的高度減小一行,也可在ex命令中,:resize -4明確指定減小的尺寸
Ctrl + W + +:將當前窗口的高度增長一行。一樣在ex命令中,:resize +n 明確指定增長尺寸
Ctrl + W + < :將當前窗口的寬度減小
Ctrl + W + > :將當前窗口的寬度增長
Ctrl + W + |:將當前窗口的寬度調到最大,也可他哦你經過ex命令:vertical resize n明確指定改變寬度
除了使多窗口編輯外,vim還容許建立多個分頁(tab),每一個分頁各有獨自的行爲,相似於瀏覽器firefox或chrome的分頁瀏覽功能。
咱們能夠在vim或gvim中使用分頁,但在gvim會更好用。
最終要的命令
:tabnew filename 打開新分頁並編輯新文件(可選的)。若是未指定文件,則只打開新分頁,並附上空的緩衝區。
:tabclose 關閉當前分頁
:tabonly 關閉其餘全部的分頁。若是其餘分頁中有修改過的文件,則不會移除該分頁,除非設置了autowrite選項。此時,全部修改過的文件都在分頁關閉前寫入磁盤。
能夠直接點鼠標來移動到另外一個分頁,也能夠用命令
Ctrl + PageDown:移動到下一個分頁
Ctrl + PageUp:移動到上一個分頁
有4種關閉窗口的方式,分別是:離開(quit)、關閉(close)、隱藏(hide)、關閉其餘窗口
^表明Ctrl鍵
^Wq,離開當前窗口
^Wc,關閉當前的窗口
^Wo,關閉當前窗口之外的全部窗口