Usr_09
Nvim :help
頁面,由 產生,來源為 原始碼,使用 tree-sitter-vimdoc 解析器。
VIM 使用者手冊 - 作者 Bram Moolenaar
使用 GUI
Vim 在一般的終端機中運作,而 gVim 則具有圖形使用者介面 (GUI)。它可以做相同的事,甚至更多。GUI 提供選單、工具列、捲軸和其他項目。本章將介紹 GUI 提供的這些額外功能。
GUI 的組成
您的桌面上可能會有一個啟動 gvim 的圖示。否則,以下其中一個指令應該可以做到
gvim file.txt
vim -g file.txt
如果這不起作用,您就沒有支援 GUI 的 Vim 版本。您必須先安裝一個。Vim 會開啟一個視窗並在其中顯示「file.txt」。視窗的外觀取決於 Vim 的版本。它應該類似於下圖(盡可能以 ASCII 顯示)。
+----------------------------------------------------+ | file.txt + (~/dir) - VIM X | <- 視窗標題 +----------------------------------------------------+ | 檔案 編輯 工具 語法 緩衝區 視窗 說明 | <- 選單列 +----------------------------------------------------+ | aaa bbb ccc ddd eee fff ggg hhh iii jjj | <- 工具列 | aaa bbb ccc ddd eee fff ggg hhh iii jjj | +----------------------------------------------------+ | 檔案文字 | ^ | | ~ | # | | ~ | # | <- 捲軸 | ~ | # | | ~ | # | | ~ | # | | | V | +----------------------------------------------------+
最大的空間被檔案文字佔據。這會以與終端機中相同的方式顯示檔案。可能會有不同的顏色和不同的字型。
視窗標題
最上方是視窗標題。這由您的視窗系統繪製。Vim 會設定標題以顯示目前檔案的名稱。首先是檔案的名稱。然後是一些特殊字元和檔案的目錄(以括號括住)。可能會出現這些特殊字元
- 檔案無法修改(例如,說明檔案)
+ 檔案包含變更
= 檔案是唯讀的
=+ 檔案是唯讀的,但仍包含變更
如果沒有顯示任何內容,則表示您有一個普通的、未變更的檔案。
您知道選單是如何運作的,對吧?Vim 有常見的項目,還有一些其他項目。瀏覽它們以了解它們的用途。一個相關的子選單是「編輯/全域設定」。您會發現這些項目
切換工具列 顯示/隱藏工具列 切換底部捲軸 在底部顯示/隱藏捲軸 切換左側捲軸 在左側顯示/隱藏捲軸 切換右側捲軸 在右側顯示/隱藏捲軸
其中包含最常用動作的圖示。希望這些圖示是不言自明的。有工具提示可以獲得額外的提示(將滑鼠指標移至圖示,不要點擊,並且不要移動它一秒鐘)。
「編輯/全域設定/切換工具列」選單項目可以用來隱藏工具列。如果您永遠不想要工具列,請在您的 vimrc 檔案中使用此指令
:set guioptions-=T
這會從
'guioptions' 選項中移除 'T' 旗標。GUI 的其他部分也可以使用此選項啟用或停用。請參閱其說明。
預設情況下,右側有一個捲軸。它會執行顯而易見的事情。當您分割視窗時,每個視窗都會有自己的捲軸。您可以使用「編輯/全域設定/切換底部捲軸」選單項目來顯示水平捲軸。這在 diff 模式下很有用,或者當
'wrap' 選項已重設時(稍後會詳細介紹)。
當存在垂直分割的視窗時,只有右側的視窗會有捲軸。但是,當您將游標移至左側的視窗時,捲軸控制的會是這個視窗。這需要一些時間來適應。當您使用垂直分割的視窗時,請考慮在左側新增捲軸。這可以使用選單項目來完成,也可以使用
'guioptions' 選項來完成
:set guioptions+=l
這會將 'l' 旗標新增至
'guioptions'。
標準是美好的。在 Microsoft Windows 中,您可以使用滑鼠以標準方式選取文字。X Window 系統也有一個使用滑鼠的標準系統。不幸的是,這兩個標準並不相同。幸好,您可以自訂 Vim。
以下指令會讓滑鼠的運作方式更像 Microsoft Windows 滑鼠
set selection=exclusive
set selectmode=mouse,key
set keymodel=startsel,stopsel
滑鼠可以進一步調整。如果您想變更滑鼠的運作方式,請查看這些選項
在
04.7 節中,已說明剪貼簿的基本用法。關於 X-windows,有一件重要的事情要說明:實際上,在程式之間有兩個地方可以交換文字。MS-Windows 沒有這個。
在 X-Windows 中,有一個「目前選取」。這是目前反白的文字。在 Vim 中,這是視覺區域(這假設您正在使用預設選項設定)。您可以在沒有任何其他動作的情況下,將此選取貼到另一個應用程式中。例如,在此文字中,使用滑鼠選取幾個字詞。Vim 會切換到視覺模式並反白文字。現在啟動另一個 gvim,不帶檔案名稱引數,以便它顯示一個空白視窗。按下滑鼠中鍵。選取的文字將被插入。
「目前選取」只有在選取其他文字之前才保持有效。在另一個 gvim 中執行貼上後,現在在該視窗中選取一些字元。您會注意到之前在另一個 gvim 視窗中選取的字詞會以不同的方式顯示。這表示它不再是目前選取。
您不需要使用滑鼠選取文字,使用鍵盤指令進入視覺模式也一樣有效。
真正的剪貼簿
現在來說說另一個可以交換文字的地方。我們稱之為「真正的剪貼簿」,以避免混淆。通常,「目前選取」和「真正的剪貼簿」都被稱為剪貼簿,您必須習慣這一點。要將文字放入真正的剪貼簿中,請在您正在執行的其中一個 gvim 中選取一些不同的字詞。然後使用「編輯/複製」選單項目。現在,文字已複製到真正的剪貼簿。您看不到這一點,除非您有一些顯示剪貼簿內容的應用程式(例如,KDE 的 Klipper)。現在選取另一個 gvim,將游標放置在某個位置,然後使用「編輯/貼上」選單。您會看到來自真正剪貼簿的文字被插入。
同時使用兩者
同時使用「目前選取」和「真正的剪貼簿」可能聽起來有點令人困惑。但它非常有用。讓我們用一個範例來說明。使用一個 gvim 來處理一個文字檔案並執行這些動作
在視覺模式中選取兩個字詞。
使用「編輯/複製」選單將這些字詞複製到剪貼簿。
在視覺模式中選取另一個字詞。
使用「編輯/貼上」選單項目。將會發生的是,單個選取的字詞會被剪貼簿中的兩個字詞取代。
將滑鼠指標移至其他位置並按下滑鼠中鍵。您會看到您剛才使用剪貼簿覆寫的字詞被插入到這裡。
如果您謹慎使用「目前選取」和「真正的剪貼簿」,您可以使用它們進行許多有用的編輯。
使用鍵盤
如果您不喜歡使用滑鼠,您可以使用兩個暫存器來存取目前選取和真正的剪貼簿。「*」暫存器用於目前選取。要讓文字成為目前選取,請使用視覺模式。例如,要選取整行,只需按「V」。要在游標之前插入目前選取
"*P
請注意大寫的「P」。小寫的「p」將文字放在游標之後。
「+」暫存器用於真正的剪貼簿。例如,要將文字從游標位置複製到行尾到剪貼簿
"+y$
請記住,「y」是 yank,這是 Vim 的複製指令。要在游標之前插入真正的剪貼簿的內容
"+P
它與目前選取相同,但使用的是加號 (+) 暫存器,而不是星號 (*) 暫存器。
現在來說說在 MS-Windows 上比在 X-Windows 上更常用的功能。但兩者都可以做到。您已經知道視覺模式。選擇模式就像視覺模式,因為它也用於選取文字。但有一個明顯的差異:當輸入文字時,選取的文字會被刪除,輸入的文字會取代它。
要開始使用選擇模式,您必須先啟用它(對於 MS-Windows,它可能已經啟用,但無論如何您都可以這樣做)
:set selectmode+=mouse
現在使用滑鼠選取一些文字。它會像在視覺模式中一樣反白顯示。現在按一個字母。選取的文字會被刪除,而單個字母會取代它。您現在處於插入模式,因此您可以繼續輸入。
由於輸入一般文字會導致選取的文字被刪除,因此您無法使用一般的移動指令「hjkl」、「w」等。相反,請使用 Shift 鍵。<S-Left>
(Shift 加游標左鍵)將游標向左移動。選取的文字會像在視覺模式中一樣變更。其他 Shift 加游標鍵會執行您預期的操作。<S-End>
和 <S-Home>
也會起作用。