Helphelp

Nvim :help 頁面,由 產生原始碼,使用 tree-sitter-vimdoc 解析器。


關於說明檔案的說明

1. 說明指令 online-help

help <Help> :h :help <F1> i_<F1> i_<Help> <Help> 或 :h[elp] 開啟一個視窗並以唯讀模式顯示說明檔案。如果已經開啟說明視窗,則使用該視窗。否則,如果目前的視窗使用螢幕的完整寬度或至少有 80 個字元寬,則說明視窗將會出現在目前視窗的上方。否則,新的視窗會放置在最上方。'helplang' 選項用於選擇語言,如果主要說明檔案有多種語言版本。
{subject} E149 E661 :h[elp] {subject} 類似 ":help",額外跳到標籤 {subject}。例如
:help options
{subject} 可以包含萬用字元,例如 "*"、"?" 和 "[a-z]": :help z? 跳到任何 "z" 命令的說明 :help z. 跳到 "z." 的說明。但是當標籤存在時,會按字面意思採用::help :? 跳到 ":?" 的說明
如果沒有完全符合模式的項目,或者有多個符合的項目,將會使用「最佳」符合的項目。會使用複雜的演算法來決定哪個符合的項目比另一個好。計算時會考慮以下項目
大小寫相同的符合項目比大小寫不同的符合項目好得多。
在非字母數字字元之後開始的符合項目比在單字中間的符合項目好。
在標籤開頭或附近符合的項目比在更遠處符合的項目好。
符合的字母數字字元越多,越好。
符合的長度越短,越好。
如果 {subject} 有多種語言版本,則會使用 'helplang' 選項來選擇語言。若要在特定語言中尋找標籤,請附加 "@ab",其中 "ab" 是兩個字母的語言代碼。請參閱 help-translated
請注意,您提供的 {subject} 越長,找到的符合項目就會越少。您可以透過使用命令列完成功能(在 ":help subject" 後輸入 CTRL-D c_CTRL-D)來瞭解這一切是如何運作的。如果有多個符合的項目,您可以透過按下 CTRL-D 來列出它們。範例
:help cont<Ctrl-D>
不必輸入 ":help CTRL-V" 來搜尋 CTRL-V 的說明,您可以輸入
:help ^V
這也適用於其他字元,例如,若要尋找插入模式中 CTRL-V 的說明
:help i^V
也可以先執行 ":help",然後在說明視窗中使用 ":tag {pattern}"。接著可以使用 ":tnext" 指令來跳到其他符合的項目,"tselect" 則可列出符合的項目並選擇一個。
:help index
:tselect /.*mode
當沒有引數時,您將會看到 "help" 的符合項目,以避免列出所有可能的符合項目(這樣會非常慢)。顯示的符合項目數限制為 300。
:help 指令後面可以接 '|' 和另一個指令,但您不需要在 help 指令內跳脫 '|'。因此,這兩種方式都有效
:help |
:help k| only
請注意,'|' 前面的空格會被視為 ":help" 引數的一部分。您也可以使用 <NL><CR> 來將 help 指令與後續指令分開。您需要先輸入 CTRL-V 來插入 <NL><CR>。範例
:help so<C-V><CR>only
:h[elp]! [subject] 類似 ":help",但在非英文說明檔案中,會優先尋找與目前檔案語言相同的檔案中的標籤。請參閱 help-translated
:helpc :helpclose :helpc[lose] 關閉一個說明視窗(如果有的話)。Vim 將會嘗試將視窗版面配置(包括游標位置)還原到最初開啟說明視窗之前的相同版面配置。這可能會觸發多個自動指令。
:helpg :helpgrep :helpg[rep] {pattern}[@xx] 搜尋所有說明文字檔,並建立一個清單,其中包含 {pattern} 符合的行。跳到第一個符合的項目。選擇性的 [@xx] 指定只尋找 "xx" 語言中的符合項目。您可以使用 快速修正 指令來瀏覽符合的項目,例如 :cnext 跳到下一個。或者使用 :cwindow 在快速修正視窗中取得符合項目的清單。{pattern} 會當作 Vim 正規表達式 pattern 使用。'ignorecase' 不會使用,請新增 "\c" 來忽略大小寫。大小寫敏感搜尋範例
:helpgrep Uganda
忽略大小寫搜尋範例
:helpgrep uganda\c
在法文說明中搜尋範例
:helpgrep backspace@fr
此模式不支援換行符號,它必須在同一行中符合。您可以使用 :grep 來代替,但這樣您需要以複雜的方式取得說明檔案的清單。後面不能接另一個指令,所有內容都會當作模式的一部分。但是您可以在需要時使用 :execute。不會搜尋壓縮的說明檔案(Fedora 會壓縮說明檔案)。
:lh :lhelpgrep :lh[elpgrep] {pattern}[@xx] 與 ":helpgrep" 相同,只是會使用位置清單,而不是快速修正清單。如果說明視窗已開啟,則會使用該視窗的位置清單。否則,會開啟新的說明視窗並設定該視窗的位置清單。目前視窗的位置清單不會變更。
:exu :exusage :exu[sage] 顯示 Ex 指令的說明。新增此功能是為了模擬 Nvi 指令。
:viu :viusage :viu[sage] 顯示普通模式指令的說明。新增此功能是為了模擬 Nvi 指令。
當沒有給予 :help 引數時,會開啟 'helpfile' 選項中指定的檔案。否則,會在 'runtimepath' 選項中指定的目錄中的所有 "doc/tags" 檔案中搜尋指定的標籤。
如果您想要在目前視窗中開啟說明,請參閱此提示:help-curwin
可以使用 'helpheight' 選項設定說明視窗的初始高度(預設值為 20)。help-buffer-options
建立說明緩衝區時,會設定幾個本機選項,以確保說明文字以預期的方式顯示:'iskeyword' 幾乎所有 ASCII 字元,除了 ' '、"*"、'"' 和 '|' 'foldmethod' "manual" 'tabstop' 8 'arabic' off 'binary' off 'buflisted' off 'cursorbind' off 'diff' off 'foldenable' off 'list' off 'modifiable' off 'number' off 'relativenumber' off 'rightleft' off 'scrollbind' off 'spell' off
使用標籤跳到特定主題。這可以用兩種方式完成
當游標停留在指令或選項的名稱上時,使用 "CTRL-]" 指令。這僅在標籤是關鍵字時有效。"<C-Leftmouse>" 和 "g<LeftMouse>" 的作用與 "CTRL-]" 相同。
使用 ":ta {subject}" 指令。這也適用於非關鍵字字元。
使用 CTRL-TCTRL-O 跳回。使用 ":q" 關閉說明視窗。
如果有多個符合您要尋找的項目,以下是您跳到每個項目的方式:1. 開啟說明視窗 2. 使用在標籤前面加上斜線的 ":tag" 指令。例如
:tag /min
3. 使用 ":tnext" 跳到下一個符合的標籤。
可以為外掛程式和其他項目新增說明檔案。您不需要為此變更散佈的說明檔案。請參閱 add-local-help
若要寫入本機說明檔案,請參閱 write-local-help
請注意,本機說明檔案中的標題行會自動新增至。這是透過在 Vim 中檢視檔案時完成的,檔案本身不會變更。這是透過瀏覽所有說明檔案並取得每個檔案的第一行來完成的。會跳過 $VIMRUNTIME/doc 中的檔案。
:helpt :helptags E150 E151 E152 E153 E154 E670 E856 :helpt[ags] [++t] {dir} 為目錄 {dir} 產生說明標籤檔案。當 {dir} 為 ALL 時,會使用 'runtimepath' 中所有的 "doc" 目錄。
會掃描目錄和子目錄中的所有 "*.txt" 和 "*.??x" 檔案,以尋找星號之間的說明標籤定義。"*.??x" 檔案用於翻譯的說明,它們會產生 "tags-??" 檔案,請參閱 help-translated。產生的標籤檔案會排序。當有重複項目時,會給予錯誤訊息。現有的標籤檔案會無訊息地覆寫。
選擇性的 "++t" 引數會強制新增 "help-tags" 標籤。當 {dir} 等於 $VIMRUNTIME/doc 時也會執行此操作。
若要重建執行時間目錄中的說明標籤(需要該處的寫入權限)
:helptags $VIMRUNTIME/doc

2. 翻譯的說明檔案 help-translated

可以在原始英文說明檔案旁邊新增翻譯的說明檔案。Vim 會在 'runtimepath' 中所有的 "doc" 目錄中搜尋所有說明。
目前,翻譯版本適用於: 中文 - 多位作者 法文 - 由 David Blanchet 翻譯 義大利文 - 由 Antonio Colombo 翻譯 日文 - 多位作者 波蘭文 - 由 Mikolaj Machowski 翻譯 俄文 - 由 Vassily Ragosin 翻譯 請參閱 Vim 網站尋找它們:https://www.vim.org/translations.php
一組翻譯的說明檔案包含這些檔案
help.abx howto.abx ... tags-ab
"ab" 是兩個字母的語言代碼。因此,對於義大利文,名稱為
help.itx howto.itx ... tags-it
可以使用 'helplang' 選項來設定偏好的語言。預設值會根據環境設定。Vim 會先嘗試在偏好的語言中尋找符合的標籤。如果找不到,則會使用英文。
若要尋找特定語言的標籤,請在標籤後附加 "@ab",其中 "ab" 是雙字母語言代碼。例如:
:he user-manual@it
:he user-manual@en
第一個範例會尋找義大利語使用者手冊,即使 'helplang' 是空的。第二個範例會尋找英文使用者手冊,即使 'helplang' 設定為 "it"。
當使用命令列自動完成功能輸入 ":help" 命令時,只有在標籤存在多種語言版本時才會顯示 "@en" 擴展名。如果標籤只有英文版本,則會省略 "@en"。當第一個候選字有 "@ab" 擴展名,且它與 'helplang' 中的第一個語言相符時,也會省略 "@ab"。
當在非英文的說明檔中使用 CTRL-] 或 ":help!" 時,Vim 會嘗試尋找相同語言的標籤。如果找不到,則會使用 'helplang' 來選擇語言。
說明檔必須使用 latin1 或 utf-8 編碼。當在第一行中找到非 ASCII 字元時,Vim 會假設編碼為 utf-8。因此,您必須翻譯包含 "For Vim version" 的標頭。
同一語言在同一個目錄下的說明檔必須使用相同的編碼。您可以為不同的語言使用不同的編碼,也可以為同一語言但在不同目錄下的說明檔使用不同的編碼。
給翻譯者的提示
請勿翻譯標籤。這樣才能使用 'helplang' 來指定偏好的語言。您可以在您的語言中新增標籤。
當您不翻譯檔案的某部分時,請使用 "tag@en" 標記法將標籤新增到英文版本中。
請建立包含所有檔案和標籤檔的套件,供使用者下載。使用者可以將其放入 "doc" 目錄之一並開始使用。請回報給開發團隊,以便他們可以在 www.vim.org 上新增連結。
請使用 :helptags 命令來產生標籤檔。它會找到指定目錄中的所有語言。

3. 編寫說明檔 help-writing

為了方便使用,外掛的 Vim 說明檔應該遵循標準 Vim 說明檔的格式,第一行除外。如果您要編寫新的說明檔,最好複製現有的檔案之一並將其用作範本。
說明檔的第一行應該具有以下格式
*plugin_name.txt*        {short description of the plugin}
第一個欄位是說明標籤,":help plugin_name" 會跳到該標籤。該行剩餘部分(在 Tab 鍵之後)簡短描述外掛用途。這將顯示在主要說明的 "LOCAL ADDITIONS" 部分中。
如果您想新增版本號碼或上次修改日期,請將其放在第二行,靠右對齊。
在說明檔的底部,放置一個 Vim 模式行來設定 'textwidth''tabstop' 選項,以及將 'filetype' 設定為 "help"。切勿在此類模式行中設定全域選項,這可能會產生不良後果。

標籤

若要定義說明標籤,請將名稱放在星號之間(tag-name)。標籤名稱應與所有 Vim 說明標籤名稱不同,並且最好以 Vim 外掛的名稱開頭。標籤名稱通常在行上靠右對齊。
當參考現有的說明標籤並建立熱連結時,請將名稱放在兩個豎線("|")之間,例如 help-writing
當參考 Vim 命令並建立熱連結時,請將名稱放在兩個反引號之間,例如在 :filetype 內部。您會看到它會像程式碼區塊一樣以命令形式反白顯示(請參閱下文)。
當參考說明檔中的 Vim 選項時,請將選項名稱放在兩個單引號之間,例如 'statusline'
當參考任何其他技術術語時,例如檔案名稱或函式參數,請用反引號將其括起來,例如 ~/.path/to/init.vim

反白

若要定義欄標題,請在行的結尾使用波浪符號,前面加上一個空格。這將以不同的顏色反白顯示欄標題。例如:
欄標題
若要分隔說明檔中的章節,請在從第一欄開始的行中放置一系列 "=" 字元。章節分隔線會以不同的方式反白顯示。
help-codeblock
若要逐字引用 ex 命令區塊,請在區塊前的行的結尾放置一個大於符號 (>),並在區塊後面的行的第一個非空白字元放置一個小於符號 (<)。任何從第 1 欄開始的行也會隱含地停止其之前的 ex 命令區塊。例如:
function Example_Func()
    echo "Example"
endfunction
以下項目會在 Vim 說明檔中以不同方式反白顯示
特殊按鍵名稱,以 <> 標記法表示,例如 <PageDown>,或以 Ctrl 字元表示,例如 CTRL-X
任何在 {大括號} 之間的東西,例如 {lhs}{rhs}
單字 "Note"、"Notes" 和類似的單字會自動獲得獨特的反白顯示。以下也是如此:Todo 待辦事項 Error 錯誤
您可以在 $VIMRUNTIME/syntax/help.vim 中找到詳細資訊
主頁
命令索引
快速參考