14

(在这里记录,因为我在网上找不到好的答案。)

使用 UltiSnips 时,文档说(在此截屏视频中为 2:12)写入.snippets文件足以导致片段自动重新加载。但是,这对我不起作用。发生了什么?

4

3 回答 3

26

我自己也有这个问题,因为经常更新我自己的.snippets文件并且不能立即使用它们是不愉快的。经过一些实验,我发现了答案:

:call UltiSnips#RefreshSnippets()

如果你很好奇,我通过打字找到了它:call <C-d>(顺便说一下,一个很长的列表)。

但是,此命令不会更新 YouCompleteMe 的自动完成列表(这几乎是无关紧要的,但有时您可能希望浏览带有旁边描述的选项)。

于 2018-10-16T18:05:37.313 回答
1

看起来 UltiSnips 重新加载适用于 vim 实例。因此,请确保在您希望更改生效的 vim 实例中打开并保存片段文件。

为了帮助解决这个问题,该命令:UltiSnipsEdit将打开.snippets与您的正确文件对应的文件。您可以使用以下命令配置片段文件的打开方式:

g:UltiSnipsEditSplit    Defines how the edit window is opened. Possible
                        values:
                        |normal|         Default. Opens in the current window.
                        |tabdo|          Opens the window in a new tab.
                        |horizontal|     Splits the window horizontally.
                        |vertical|       Splits the window vertically.
                        |context|        Splits the window vertically or
                                         horizontally depending on context.

示例用法.vimrclet g:UltiSnipsEditSplit="context"

请注意,如果您想在不同的片段文件中进行更改(例如,您正在处理一个 cpp 文件并且您想为所有 c 文件(以及您的 cpp.snippets文件确实extends c)。如果您处于这种情况并且您经常编辑您的片段,请考虑在选项卡/窗格中保持该片段文件打开。

其他建议/欢迎输入!

(来自文档

于 2018-06-21T22:56:56.960 回答
0

我也没有找到满意的答案。在有人可以发布更好的东西之前,我建议只使用

:e!

这会将当前窗口重新加载到最近保存的文件。我知道这并不多,但这是我正在使用的,直到我找到更好的方法。

于 2018-06-24T15:30:04.410 回答