歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux維護

在Linux上vim如何實現多窗口操作

在Linux上操作vim的時候,可以實現多窗口編輯,vim多窗口編輯的方式其實有很多種,而大部分人只會使用其中的一種,下面小編就給大家詳細介紹下Linux實現vim多窗口編輯的方法。

啟動多窗口編輯

Vim 的多窗口是動態的,可以開始編輯時就打開多窗口,也可以工作時隨時增加新窗口,或者刪除一個窗口。

$ vim -o file1 file2 打開一個編輯會話,顯示為水平分割成兩半的窗口,一個文件占用一個窗口。

$ vim -O file1 file2 和上面相同,不過是垂直分割兩半的窗口

如下 圖所示:

如果畫面分割後不足以容納下所有窗口,那麼第一個文件會占用大部分窗口,余下的窗口則載入緩沖區,暫時不能看到,但仍可以取用。

-o後面加一個數字n,是預分配窗口的形式打開:

$ vim -o5 file1 file2 將分配5個相同的窗口,有3個是閒置的

vim的多窗口編輯

: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中有兩種移動窗口方式,一種只是簡單地在屏幕上切換窗口,尺寸維持不變;另一種則是改變窗口的實際布局,還會調整尺寸,以填充它移動的位置。

1. 移動窗口本身(輪換或交換)

Ctrl + w + r:向右或向下方交換窗口,而Ctrl + w + R則和它方向相反。

光標會隨著窗口而移動

Ctrl + w + x:交換同列或同行的窗口的位置。vim默認交換當前窗口的與它下一個窗口的位置,如果下方沒有窗口,則試著與上一個窗口交換位置。亦可在此命令前加上數量,與制定的窗口交換位置。

2. 移動窗口並改變其布局

注:下面的第三個字母都是大寫,按玩Ctrl + w之後,按shif + 相應的字母。後面用^代替Ctrl

Ctrl + w + K :移動當前窗口至屏幕頂端,並占用全部寬度

^WJ: 移動窗口至屏幕底端,並占用全部寬度

^WH:移動窗口至屏幕左端,並占用全部高度

^WL:移動窗口至屏幕右端,並占用全部高度

^WT :移動窗口至屏新的現有分頁

3. 調整窗口尺寸

改變當前窗口的尺寸,同時當然也會影響到其他窗口。

在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,關閉當前窗口以外的所有窗口

上面就是Linux實現vim多窗口編輯功能的方法介紹了,不僅有普通的多個窗口模式,還能對窗口進行垂直分割、分頁編輯,移動窗口等操作。

Copyright © Linux教程網 All Rights Reserved