救救我啊我救我 —— help 與 checkhealth
前言
Vim 的坑不少,例如每個工程師都必然會遇到的千古難題:如何退出 Vim?
然而實際上,不論是 Neovim 還是 Vim,在你第一次打開它的時候,它就曾試圖告訴你不少有用的資訊了(包含如何退出),只是你可能沒有注意到。
為了讓將來在使用 Neovim 時能有基本的自救能力,當遇到問題時也不用急著上 Google,而是能直接透過 Neovim 內部的文件來快速診斷和處理問題,本章將介紹如何使用 Neovim 的內建指令 help
與 checkhealth
。另外,這些內容將不僅限於 Neovim 本體,同時也適用於插件的 help page。
help.txt
第一次求救
第一次使用nvim
指令開啓 Neovim 時,你會看到類似於這樣的畫面:
你會發現,其實它已經告訴你可以如何向它尋求幫助 —— 輸入:help
或:h
,然後按下<Enter>
,就可以打開 Neovim 的 main help page,而這裡便記錄了你可以怎麽使用這些幫助文件。
另外,這裡也說明了你可以如何退出 help page 和 Neovim —— 輸入:q<Enter>
關閉 help page,以及輸入:qa!<Enter>
來 不 儲存直接退出 Neovim。
Links and Tags
在 help page 中,你會看見一些粗體標亮的關鍵字,或是往下翻找,你可以看見 Neovim 幫助文件的完整目錄,這代表這些關鍵字有它們相對應的說明文件,同時,它們也是文件的連結入口,你可以將你的遊標移動到這些單字上,然後使用以下快捷鍵來進行文件的跳轉:
Mappings | Action |
---|---|
Ctrl + ] |
移動至連結 |
Ctrl + T |
返回上一個文件 |
這就延伸出了 help page 的第一個用法,開啓 help page 後,我們可以使用和在 Normal Mode 下一樣的操作方式,使用/
來進行關鍵字搜尋,例如我們可以輸入/quick
搜尋目錄quickref
,將遊標移動到關鍵字上後,再使用快捷鍵Ctrl + ]
進行跳轉。
令外,還有兩個我在瀏覽大型文件時很常使用的快捷鍵,也在這裡分享給各位:
Mappings | Action |
---|---|
Ctrl + o |
返回至上一個遊標位置 |
Ctrl + i |
返回至下一個遊標位置 |
搜尋模式
如果每次都要先開啓 main help page 再進行搜尋,那還真的是不如直接 Google 比較快,更何況 :help
頁面中只有目錄,而沒有更完整的內容可以進行關鍵字搜尋。
所幸,我們可以直接在 command line 中輸入指令時就開始進行搜尋了,例如,如果我想搜尋關鍵字word
,我只要輸入:h word
就可以開始搜尋。同時,我們也可以使用以下的三個快捷鍵,來進行關鍵字的搜尋和補齊:
Mappings | Action |
---|---|
Ctrl + d |
顯示所有包含關鍵字的主題 |
<Tab> |
選取下一個包含關鍵字的主題 |
<Shift> + <Tab> |
選取上一個包含關鍵字的主題 |
Ctrl + d
範例
<Tab>
範例
另外,Neovim 也給了部分固定主題提供了固定的關鍵字格式,這些格式也有被列在:h
中,如果忘記了,也可以隨時查看:
主題 | 關鍵字前綴 | 範例 |
---|---|---|
Normal mode command | :help x |
|
Visual mode command | v\_ |
:help v_u |
Insert mode command | i\_ |
:help i\_<Esc> |
Command-line command | : |
:help :quit |
Command-line editing | c\_ |
:help c\_<Del> |
Vim command argument | - |
:help -r |
Option | ' |
:help 'wildmenu' |
Regular expression | / |
:help /[] |
例如,如果我想知道退出 Neovim 的指令:q
的所有用法,我只要輸入:h :q
就可以開始搜尋了、或是,如果我想知道快捷鍵Ctrl-r
的功能是什麼,我只要輸入:h CTRL-r
就可以開始搜尋,或更進階一點,你可輸入:h ctrl-r
然後按下Ctrl-d
或是<Tab>
,來查找與這個快捷鍵有關的主題選項。
以上,就是關於 help page 的一些基本用法了,這也是我常用來處理 Neovim 問題的第一步,如果還想了解一些更進階的技巧,可以查閱:h :help
,或是參考 Vim Tips Wiki: Learn to use help。
checkhealth
Neovim 的外掛包含 Neovim 本身的功能有時會依賴於額外的程式環境、或是其他的某些外掛,例如系統剪貼簿的取用、以及使用 Python3 等其他語言所撰寫的功能等等。如果你安裝了某些外掛,卻發現它不起作用的時候,通常可能就是因爲沒有下載這些額外的東西。
除了從這些外掛的 help page、git 或官網上查找依賴之外,Neovim 的:checkhealth
指令可以讓我們很方便的去查看應該、以及甚至要怎麽處理這些問題。
開啟 Neovim 後,輸入:checkhealth
,你會看到類似於這樣的畫面:
另外,checkhealth 也可以接受參數來只對指定內容進行檢查,例如:checkhealth provider
,這樣就可以只查看 provider 的健康狀況了。
加上在上一段裡提到的:h
,於是乎,我們的 Neovim 快篩自救程序就這樣完成了:每當 Neovim 和其外掛出現問題時,我們可以先使用:checkhealth
做一遍基本檢查,來看系統中是否缺漏了什麼,然後再使用:h
來查找可能的解決方案,而這一切幾乎都可以在 Neovim 中不使用網路來完成,且相當快速有效。
後記
至此,我們已經學會了如何使用 help page 和:checkhealth
來進行診斷與解決問題,而在下一章裡,我們將正式進入 Neovim 的基礎設定環節。
首先,我會介紹 Neovim 的設定文件結構,接著,我會提供我的設定文件,並重點介紹一些常見,且我覺得很是有用的選項,例如設定剪貼簿、行號、以及縮排等功能。
上一篇: 安裝 Neovim 與 Nerd Fonts
下一篇: Neovim 設定文件結構與基礎功能設定