Usr_31
Nvim 的 :help
頁面,使用 tree-sitter-vimdoc 解析器,從 原始碼 產生。
VIM 使用者手冊 - 作者:Bram Moolenaar
GUI 的運用
Vim 在終端機中運作良好,但 GUI 有一些額外的功能。檔案瀏覽器可用於需要檔案的指令。對話框可讓您在選項之間做出選擇。使用鍵盤快捷鍵可快速存取選單項目。
檔案瀏覽器
當您使用「檔案/開啟...」選單時,會出現檔案瀏覽器。這可以讓您更容易找到想要編輯的檔案。但是,如果您想分割視窗來編輯另一個檔案呢?沒有對應的選單項目。您可以先使用「視窗/分割」,然後再使用「檔案/開啟...」,但這樣比較麻煩。由於您在 Vim 中輸入大多數指令,因此也可以使用輸入指令來開啟檔案瀏覽器。若要讓分割指令使用檔案瀏覽器,請在前面加上 "browse"
:browse split
選取一個檔案,然後將會執行 ":split" 指令。如果您取消檔案對話框,則不會發生任何事情,視窗也不會分割。您也可以指定一個檔案名稱參數。這會告知檔案瀏覽器從哪裡開始。範例
:browse split /etc
檔案瀏覽器將會彈出,並從 "/etc" 目錄開始。
":browse" 指令可以加在任何開啟檔案的指令之前。如果未指定目錄,Vim 會決定檔案瀏覽器的起始位置。預設情況下,它會使用上次使用的目錄。因此,當您使用 ":browse split" 並在 "/usr/local/share" 中選擇一個檔案時,下次您使用 ":browse" 時,它將會再次從 "/usr/local/share" 開始。這可以使用
'browsedir' 選項變更。它可以有三個值之一
last 使用上次瀏覽的目錄 (預設) buffer 使用與目前緩衝區相同的目錄 current 使用目前目錄
例如,當您在 "/usr" 目錄中,編輯 "/usr/local/share/readme" 檔案時,則指令
:set browsedir=buffer
:browse edit
將會在 "/usr/local/share" 中啟動瀏覽器。或者
:set browsedir=current
:browse edit
將會在 "/usr" 中啟動瀏覽器。
注意:為了避免使用滑鼠,大多數檔案瀏覽器都提供使用按鍵來導航。由於每個系統都不同,因此這裡不做說明。Vim 會盡可能使用標準瀏覽器,您的系統文件應包含關於鍵盤快捷鍵的說明。
當您未使用 GUI 版本時,您可以使用檔案瀏覽器視窗來選取檔案,就像在檔案瀏覽器中一樣。但是,這不適用於 ":browse" 指令。請參閱
netrw-browse。
Vim 會保護您不會意外覆寫檔案和其他遺失變更的方式。如果您做了可能不好的事情,Vim 會產生錯誤訊息,並建議您在確實要執行時加上 !。若要避免重新輸入帶有 ! 的指令,您可以讓 Vim 顯示一個對話框。然後,您可以按下「確定」或「取消」來告知 Vim 您想要做什麼。例如,您正在編輯一個檔案並對其進行了變更。您開始使用以下指令編輯另一個檔案
:confirm edit foo.txt
Vim 將彈出一個類似以下的對話框
+-----------------------------------+ | | | ? 儲存對 "bar.txt" 的變更? | | | | 是 否 取消 | +-----------------------------------+
現在做出您的選擇。如果您確實想要儲存變更,請選取「是」。如果您想要永遠遺失變更:「否」。如果您忘記自己正在做什麼,並想檢查實際變更了什麼,請使用「取消」。您將會回到同一個檔案,且變更仍然存在。
就像 ":browse" 一樣,":confirm" 指令可以加在大多數編輯另一個檔案的指令之前。它們也可以組合使用
:confirm browse edit
當目前緩衝區已變更時,這將會產生一個對話框。然後,它會彈出一個檔案瀏覽器來選取要編輯的檔案。
注意:在對話框中,您可以使用鍵盤來選取選項。通常,<Tab>
鍵和方向鍵會變更選項。按下 <Enter>
鍵會選取選項。但是,這取決於系統。
當您未使用 GUI 時,":confirm" 指令也可以運作。Vim 不會彈出對話框,而是會在 Vim 視窗的底部印出訊息,並要求您按下一個按鍵來進行選擇。
:confirm edit main.c
儲存對 "Untitled" 的變更?
[Y]是,(N)否,(C)取消
您現在可以按下單個按鍵來進行選擇。您不必像在命令列上輸入其他內容一樣按下 <Enter>
鍵。
鍵盤用於所有 Vim 指令。選單提供了一種簡單的方式來選取指令,而無需知道它們的名稱。但是,您必須將手從鍵盤上移開並拿起滑鼠。選單通常也可以使用按鍵選取。這取決於您的系統,但通常運作方式如下。將 <Alt>
鍵與選單中帶有底線的字母組合使用。例如,<A-w>
(<Alt>
和 w) 會彈出「視窗」選單。在「視窗」選單中,「分割」項目具有底線的 p。若要選取它,請放開 <Alt>
鍵並按下 p。
在使用 <Alt>
鍵第一次選取選單之後,您可以使用方向鍵在選單中移動。<Right>
會選取子選單,而 <left>
會關閉子選單。<Esc>
也會關閉選單。<Enter>
會選取選單項目。
使用
<Alt>
鍵選取選單項目與將
<Alt>
鍵組合用於對應之間存在衝突。
'winaltkeys' 選項會告知 Vim 如何處理
<Alt>
鍵。預設值 "menu" 是明智的選擇:如果按鍵組合是選單快捷鍵,則無法對其進行對應。所有其他按鍵都可供對應。值 "no" 不會將任何
<Alt>
鍵用於選單。因此,您必須使用滑鼠來選取選單,並且可以對所有
<Alt>
鍵進行對應。值 "yes" 表示 Vim 將會將任何
<Alt>
鍵用於選單。某些
<Alt>
鍵組合也可能執行選取選單以外的其他操作。
若要查看螢幕上目前的 Vim 視窗位置,請使用
:winpos
這僅在 GUI 中有效。輸出可能如下所示
位置以螢幕像素表示。現在您可以使用這些數字將 Vim 移動到其他位置。例如,將其向左移動一百個像素
:winpos 172 103
注意:回報的位置與視窗移動的位置之間可能存在一個小的偏移量。這是因為視窗周圍的邊框。這是由視窗管理器添加的。
您可以在啟動腳本中使用此指令,將視窗定位在特定位置。
Vim 視窗的大小以字元為單位計算。因此,這取決於所用字型的大小。您可以使用以下指令查看目前的大小
:set lines columns
若要變更大小,請將
'lines' 和/或
'columns' 選項設定為新值
:set lines=50
:set columns=80
在終端機中取得大小的工作方式與在 GUI 中相同。在大多數終端機中,無法設定大小。
您可以使用參數啟動 X-Windows 版本的 gvim,以指定視窗的大小和位置
gvim -geometry {width}x{height}+{x-offset}+{y-offset}
{width}
和
{height}
以字元為單位,
{x-offset}
和
{y-offset}
以像素為單位。範例
gvim -geometry 80x25+100+300
您可以使用 gvim 來編輯電子郵件訊息。在您的電子郵件程式中,您必須選取 gvim 作為訊息的編輯器。當您嘗試時,您會發現它無法運作:郵件程式認為編輯已完成,而 gvim 仍在執行!發生的事情是 gvim 與它啟動時所在的 shell 中斷了連線。當您在終端機中啟動 gvim 時,這沒有問題,這樣您可以在該終端機中執行其他工作。但是,當您確實想要等待 gvim 完成時,您必須防止它中斷連線。"-f" 參數可以執行此操作
gvim -f file.txt
"-f" 代表前景。現在,Vim 將會封鎖啟動它的 shell,直到您完成編輯並結束為止。
延遲啟動 GUI
在 Unix 上,可以先在終端機中啟動 Vim。如果您在同一個 shell 中執行各種任務,這很有用。如果您正在編輯一個檔案,並決定最後要使用 GUI,則可以使用以下指令啟動它
:gui
Vim 將會開啟 GUI 視窗,並且不再使用終端機。您可以繼續將終端機用於其他事情。此處使用 "-f" 參數在前景色執行 GUI。您也可以使用 ":gui -f"。