UltiSnips 不会自动重新加载对代码片段文件的更改
UltiSnips doesn't automatically reload changes to snippets file
(因为我在网上找不到好的答案,所以在这里记录下来。)
使用 UltiSnips 时,文档说 (2:12 in this screencast) 写入 .snippets
文件足以导致代码片段自动重新加载。但是,这对我不起作用。发生什么事了?
看起来 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.
.vimrc
中的示例用法:let g:UltiSnipsEditSplit="context"
请注意,如果您想在不同的代码片段文件中进行更改(例如,您正在处理一个 cpp 文件并且想为所有 c 文件添加一个代码片段(并且您的 cpp.snippets 文件确实 extends c
)。如果您处于这种情况并且经常编辑您的代码片段,请考虑在 tab/pane 中保持该代码片段文件打开。
欢迎其他建议/输入!
(来自 Documentation)
我也没有找到满意的答案。在有人可以 post 更好的东西之前,我建议只使用
:e!
这会将当前 window 重新加载到最近保存的文件。我知道这并不多,但在我找到更好的方法之前,我一直在使用它。
我自己也有这个问题,因为经常更新我自己的 .snippets
文件而不立即使用它们是令人不快的。经过一些实验,我找到了答案:
:call UltiSnips#RefreshSnippets()
如果你很好奇,我通过输入 :call <C-d>
(顺便说一下,这是一个很长的列表)找到了它。
但是,此命令不会更新 YouCompleteMe 的自动完成列表(这在很大程度上是无关紧要的,但有时您可能想浏览带有旁边说明的选项)。
(因为我在网上找不到好的答案,所以在这里记录下来。)
使用 UltiSnips 时,文档说 (2:12 in this screencast) 写入 .snippets
文件足以导致代码片段自动重新加载。但是,这对我不起作用。发生什么事了?
看起来 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.
.vimrc
中的示例用法:let g:UltiSnipsEditSplit="context"
请注意,如果您想在不同的代码片段文件中进行更改(例如,您正在处理一个 cpp 文件并且想为所有 c 文件添加一个代码片段(并且您的 cpp.snippets 文件确实 extends c
)。如果您处于这种情况并且经常编辑您的代码片段,请考虑在 tab/pane 中保持该代码片段文件打开。
欢迎其他建议/输入!
(来自 Documentation)
我也没有找到满意的答案。在有人可以 post 更好的东西之前,我建议只使用
:e!
这会将当前 window 重新加载到最近保存的文件。我知道这并不多,但在我找到更好的方法之前,我一直在使用它。
我自己也有这个问题,因为经常更新我自己的 .snippets
文件而不立即使用它们是令人不快的。经过一些实验,我找到了答案:
:call UltiSnips#RefreshSnippets()
如果你很好奇,我通过输入 :call <C-d>
(顺便说一下,这是一个很长的列表)找到了它。
但是,此命令不会更新 YouCompleteMe 的自动完成列表(这在很大程度上是无关紧要的,但有时您可能想浏览带有旁边说明的选项)。