帮助

Nvim :help 页面,生成 使用 tree-sitter-vimdoc 解析器。


关于帮助文件的帮助

1. 帮助命令 在线帮助

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 :? 跳转到 ":?" 的帮助。
如果没有与模式完全匹配,或者存在多个匹配,则将使用“最佳”匹配。一个复杂的算法被用来决定哪个匹配比另一个匹配更好。这些项目在计算中被考虑
与大小写相同的匹配比与大小写不同的匹配好得多。
在非字母数字字符之后开始的匹配比单词中间的匹配更好。
标签开头或附近的匹配比更后面的匹配更好。
匹配的字母数字字符越多,匹配越好。
匹配的长度越短,匹配越好。
'helplang' 选项用于选择语言,如果 {subject} 可用多种语言。要查找特定语言的标签,请附加 "@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 k| only
请注意,"|" 之前的空格被视为 ":help" 参数的一部分。您也可以使用 <NL><CR> 将帮助命令与后续命令分隔开。您需要先输入 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 正则表达式 模式'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-]" 命令。这仅在标签是关键字时才有效。"CTRL-]" 命令与 "<C-Leftmouse>" 和 "g<LeftMouse>" 相同。
使用 ":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”将跳到该标签。标签后的其余部分(一个制表符之后)以简短的方式描述插件的用途。这将显示在主帮助的“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
{braces}之间的任何内容,例如 {lhs}{rhs}
单词“Note”、“Notes”和类似的词会自动获得独特的突出显示。这些词也是如此:Todo something to do Error something wrong
您可以在$VIMRUNTIME/syntax/help.vim中找到详细信息
主要
命令索引
快速参考