帮助
Nvim :help
页面,生成 自 源 使用 tree-sitter-vimdoc 解析器。
关于帮助文件的帮助
{subject}
可以包含通配符,如 "*"、"?" 和 "[a-z]"::help z? 跳转到任何 "z" 命令的帮助 :help z. 跳转到 "z." 的帮助。但是当存在标签时,它将被逐字地解释::help :? 跳转到 ":?" 的帮助。
如果没有与模式完全匹配,或者存在多个匹配,则将使用“最佳”匹配。一个复杂的算法被用来决定哪个匹配比另一个匹配更好。这些项目在计算中被考虑
与大小写相同的匹配比与大小写不同的匹配好得多。
在非字母数字字符之后开始的匹配比单词中间的匹配更好。
标签开头或附近的匹配比更后面的匹配更好。
匹配的字母数字字符越多,匹配越好。
匹配的长度越短,匹配越好。
请注意,您提供的
{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" 相同,只是使用位置列表而不是快速修复列表。如果帮助窗口已经打开,则使用该窗口的位置列表。否则,将打开一个新的帮助窗口并设置该窗口的位置列表。然后不会更改当前窗口的位置列表。
使用标签跳转到特定主题。这可以通过两种方式完成
站在命令或选项的名称上,使用 "CTRL-]" 命令。这仅在标签是关键字时才有效。"CTRL-]" 命令与 "<C-Leftmouse>" 和 "g<LeftMouse>" 相同。
使用 ":ta {subject}
" 命令。这也可以用于非关键字字符。
使用 CTRL-T
或 CTRL-O
返回。使用 ":q" 关闭帮助窗口。
如果您要查找的项目有多个匹配项,您可以按以下步骤跳转到其中每个匹配项:1. 打开帮助窗口 2. 使用 ":tag" 命令,前面带有斜杠。例如
:tag /min
3. 使用 ":tnext" 跳转到下一个匹配标签。
请注意,本地帮助文件中的标题行会自动添加到其中。这是在 Vim 中查看文件时完成的,文件本身不会更改。这是通过遍历所有帮助文件并获取每个文件的首行来完成的。$VIMRUNTIME/doc 中的文件将被跳过。
目录和子目录中的所有 "*.txt" 和 "*.??x" 文件都会被扫描,以查找星号之间的帮助标签定义。"*。??x" 文件用于翻译后的文档,它们生成 "tags-??” 文件,见
help-translated。生成的标签文件已排序。如果存在重复项,则会显示错误消息。现有标签文件会被静默覆盖。
可选的 "++t" 参数强制添加 "help-tags" 标签。当 {dir}
等于 $VIMRUNTIME/doc 时,也会这样做。
要重建运行时目录中的帮助标签(需要对该目录具有写权限)
:helptags $VIMRUNTIME/doc
可以添加翻译后的帮助文件,位于原始英语帮助文件的旁边。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”也会被省略。
帮助文件必须使用latin1或utf-8编码。当在第一行中找到非ASCII字符时,Vim会假设编码为utf-8。因此,您必须使用“For Vim version”翻译标题。
同一个目录中一个语言的帮助文件必须使用相同的编码。您可以对不同的语言使用不同的编码,并且可以使用不同的编码来表示同一语言但位于不同目录中的帮助文件。
翻译提示
如果您没有翻译文件的一部分,请使用“tag@en”符号在英文版本中添加标签。
创建一个包含所有文件和标签文件的包,以便用户下载。用户可以将它放在一个“doc”目录中并开始使用。向开发团队报告,以便他们可以在www.vim.org上添加链接。
为了方便使用,插件的Vim帮助文件应遵循标准Vim帮助文件的格式,但第一行除外。如果您要编写一个新的帮助文件,最好复制现有的文件之一并用作模板。
帮助文件的第一行应具有以下格式
*plugin_name.txt* {short description of the plugin}
第一个字段是帮助标签,“:help plugin_name”将跳到该标签。标签后的其余部分(一个制表符之后)以简短的方式描述插件的用途。这将显示在主帮助的“LOCAL ADDITIONS”部分中
如果您要添加版本号或最后修改日期,请将其放在第二行,右对齐。
要定义帮助标签,请将标签名放在星号之间(
tag-name)。标签名应与所有Vim帮助标签名不同,并且理想情况下应以Vim插件的名称开头。标签名通常右对齐在一行上。
当引用Vim命令并创建热链接时,请将标签名放在两个反引号之间,例如 :filetype
。您会看到它会被突出显示为命令,就像代码块一样(参见下文)。
当引用任何其他技术术语(例如文件名或函数参数)时,请将其放在反引号之间,例如 ~/.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中找到详细信息