Vim:如何在我的.vimrc文件中使用帮助链接

3
有没有办法在我的.vimrc文件中像链接一样使用Vim帮助?比如,在文件开头提供整个.vimrc文件的目录表,以便快速跳转到两个部分之间。我经常发现这很有用。那么,这种方式可行吗?我说的是所有帮助文件中都有的链接,比如你按下Ctrol + ],它会将你发送到该链接所指向的文件部分。就是那种链接。是否可能在我的.vimrc文件中拥有这些链接?如果可以,如何实现,与帮助相同的方式?感谢您的所有帮助!
3个回答

7

vim的帮助使用标签文件:

$VIMRUNTIME/doc/tags

你可以为你的.vimrc创建一个标签文件。
然后,你需要设置tags选项以定位它:
:set tags+=/path/to/your/tags

输入:help 'tags'以获取更多信息。


谢谢,这正是我所需要的。现在我有些要学习了。 :) - greduan
可以使用helptags命令生成标签文件,但它只适用于.txt和帮助翻译文件。此外,不要期望除原始语法(如果有)之外还有“help”语法。链接应该可以使用ctrl-]等命令工作,但在gvim中不能使用鼠标(根据我的尝试)。 - pbarill

7
如果你只需要一个目录,我建议你折叠你的 .vimrc 文件。这比创建标签更容易,可以跳到不同的位置。我的 .vimrc 文件看起来像下面这样,只有最后一节是展开的:
" vim:fdm=marker:fen:fdl=0:
+-- 20 lines: buffer
+-- 12 lines: tty
+-- 10 lines: look
+--  9 lines: spell
+-- 12 lines: highlight
+-- 25 lines: filetype
+-- 16 lines: folding
+-- 26 lines: mapping
" latex-box {{{1
let g:LatexBox_output_type="dvi"
let g:LatexBox_viewer="xdvi"

第一行是一个“模型线”,我告诉vim使用默认标记({{{)来标记一个部分,启用折叠功能以便在打开文件时折叠整个文件,从0级(目录表的顶级)开始折叠。您可以使用正常的j/k键在此列表中上下移动,h/l打开折叠(如果您配置了vim来执行此操作)。这样,您也可以实现目录表。但您根本不需要手动维护标签。
':help folding'和':help modeline'可能会对您有所帮助。以下是一些键的简短列表,可让您进入和退出文件夹:
" zR    Unfold all folded lines in file.
" za    Open/close (toggle) a folded group of lines.
" zA    Open a closed fold or close an open fold recursively.
" zc    Close a folded group of lines.
" zC    Close all folded lines recursively.
" zd    Delete a folded line.
" zD    Delete all folded lines recursively.
" zE    Eliminate all folded lines in file.
" zF    Create "N" folded lines.

谢谢 Jing。我已经有了这个系统,但是感谢你提供所有的快捷键组合,我之前不知道这些。+1。 - greduan

2

我曾经使用带有标签的vmrc文件目录表,但最终放弃了它,因为折叠方法更加方便。Jing已经在他的答案中描述了它。

对于那些讨厌文件中丑陋的{{{1符号的人来说,可以使用替代折叠方法。

每个部分都以标题开头:

" = Another section =

在文件的最后一行添加一个模型行:
"  vim:fdm=expr:fen:fdl=0:foldexpr=getline(v\:lnum)=~'^\"\\s='?'>1'\:'=':

以下是代码:

  • vim: - 这是此文件的模型线,使用以下本地设置
  • fdm=expr - 折叠方法为表达式
  • fen - 启用折叠
  • fdl=0 - 仅打开级别为0的折叠,这意味着关闭所有折叠
  • foldexpr - 如果行以“=”开头,则开始折叠级别1,否则该行与上一行处于相同级别。

如果您想要多个级别,则最好使用函数。在this answer中有非常详细的描述。

我最有帮助的快捷键是

zi -  Invert 'foldenable'.

这是一个切换命令:打开所有折叠或关闭所有折叠,除了那些我用 zc 打开但没有显式关闭的折叠。


非常有用的ISQ!我想我会将其与标签结合起来,看看效果如何。谢谢! - greduan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接