1

是否有一个 Vim 插件可以打开一个带有 Tagbar 样式的文件内容的窗口?

与 Tagbar 行为的唯一区别是,当点击Enter元素时,Vim 将元素插入到文档中(跳转到切换窗口之前的前一个窗口)。

例如,假设我正在编写一个数学文档。我想要一个名为符号的文件,在某种程度上,我可以告诉

功能符号(可折叠)

integral
derivative
plus minus

希腊字母(折叠为 ToggleBar)

alpha
beta
gamma

因此,当我键入 ToggleMath 时,会出现一个带有该内容的切换窗口,当我点击 alpha 时,会在我的文档中写入一个 alpha。

** 编辑 - 答案 **

我查看了@romainl 指出的第一篇文章。最好的解决方案是使用 'thesaurus' 选项来指示字典。在那个文件(我们称之为 dict.txt)中,输入这样的条目

'阿尔法α'

做 setlocal thesaurus=dict.txt

当你在插入模式下

一个 CTRL-X CTRL-T

alpha 将被插入(将显示一个弹出菜单,其中数学行被拆分为弹出菜单中的条目)。再次键入 CTRL-X CTRL-T 和

将插入 α 删除先前键入的单词 alpha。

另一个解决方案(虽然不完全是什么问题)

如果您必须更快地键入(每次按 CTRL-X CTRL-T),上面的解决方案会慢一些。您可以创建两个名为 math_abb.txt 和 math_una.txt 的文件。一个用于设置缩写,另一个用于未设置的缩写。然后,使用 source 命令加载它们。

4

2 回答 2

0

老实说,如果我决定在 vim.org 上搜索它,我不知道是否存在这样的插件,甚至不知道使用什么关键字。

但是您可以像在这个答案中一样利用 Vim 的字典完成,或者使用像SnipMateUltiSnips这样的片段扩展插件。

使用字典完成后,您将点击<C-w><C-k>以打开光标旁边的弹出菜单,其中包含字典中的所有项目。

例如,使用 SnipMate,您可以将所有“希腊字母”片段与grk触发器关联。在插入模式下键入grk<tab>将显示所有希腊字母的列表供您选择。

于 2013-07-03T21:38:58.410 回答
0

这是使用降价文档执行此操作的快速方法,该文档使用 vim-markdown 插件自动折叠。可能适用于任何折叠设置。它在左侧窗口显示顶级部分,在右侧显示完整文档。

程序:

  1. :vsplit (如果需要,可以减少左窗长度)
  2. :set foldlevel=0在左侧窗口中(显示完全折叠)
  3. :set foldlevel=999在右侧窗口中(显示完全展开)
  4. :windo set scrollbind cursorbind (这将在两个窗口上设置两个变量)

现在,当您浏览左侧窗口中的部分时,右侧窗口将自动同步位置。导航后,您仍然需要跳回右侧窗口。

于 2020-04-23T02:29:28.757 回答