【问题标题】:Toggle a window with the contents of a file and folding切换带有文件内容和折叠的窗口
【发布时间】:2020-04-23 10:29:28
【问题描述】:

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

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

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

功能符号(可折叠)

integral
derivative
plus minus

希腊字母(折叠为 ToggleBar)

alpha
beta
gamma

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

** 编辑 - 回答 **

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

'阿尔法α'

设置本地词库=dict.txt

当你在插入模式下做时

一个 CTRL-X CTRL-T

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

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

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

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

【问题讨论】:

    标签: vim vim-plugin


    【解决方案1】:

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

    但是您可以像this answer 那样利用 Vim 的字典完成功能,或者使用像 SnipMateUltiSnips 这样的 sn-p-expansion 插件。

    通过字典完成,您可以点击<C-w><C-k> 以在光标旁边打开一个弹出菜单,其中包含您字典中的所有项目。

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

    【讨论】:

    • 我查看了第一篇文章。最好的解决方案是使用同义词库选项来指示字典。
    【解决方案2】:

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

    程序:

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

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

    【讨论】:

      猜你喜欢
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      • 2016-04-19
      相关资源
      最近更新 更多