(此处记录了此内容,因为我无法在线找到一个好的答案。)
使用UltiSnips时,文档说(2:12 in this screencast)表示,编写.snippets
文件足以导致自动重新加载代码段。但是,这对我不起作用。发生什么事了?
答案 0 :(得分:7)
我本人也有这个问题,因为经常更新我自己的.snippets
文件并且不立即提供它们是不愉快的。经过一些实验,我找到了答案:
:call UltiSnips#RefreshSnippets()
如果您感到好奇,可以通过输入:call <C-d>
(顺便说一句,很长的列表)来找到它。
但是,此命令不会更新YouCompleteMe的自动完成列表(大多数情况是无关紧要的,但是有时您可能希望浏览选项旁边的描述)。
答案 1 :(得分: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.
.vimrc
中的示例用法:let g:UltiSnipsEditSplit="context"
请注意,如果您想在其他代码片段文件中进行更改(例如,您正在处理cpp文件,并且想要为所有c文件添加代码段, cpp.snippets文件执行extends c
)。如果您处于这种情况下,并且要频繁编辑代码段,请考虑使该代码段文件在选项卡/窗格中保持打开状态。
其他建议/欢迎输入!
(来自Documentation)
答案 2 :(得分:0)
我也没有找到令人满意的答案。在有人可以发布更好的内容之前,我建议只使用
:e!
这会将当前窗口重新加载到最近保存的文件。我知道不多,但这是我一直在使用的方式,直到找到更好的方法为止。