我正在使用 vim,发现了两个很好用的插件 -剪辑工具,模仿 textmate 的片段行为,并且超级标签,根据当前/其他缓冲区中的现有单词,使用 tab 键切换并完成单词。我已经使用 在我的 .vimrc 文件中打开了所有插件:filetype plugin on
,但只有 supertab 可以工作。我怀疑由于 TAB 键用于两者,它们会相互覆盖。有人遇到过这种情况并找到了解决方法吗?我还不是编辑 .vimrc 文件、映射键等方面的专家。谢谢。
编辑
当我尝试单独强制加载 snipMate.vim 时,出现以下错误:
Error detected while processing /home/sa125/.vim/plugin/snipMate.vim:
line 15:
E122: Function <SNR>18_RemoveSnippet already exists, add ! to replace it
line 73:
E122: Function snipMate#expandSnip already exists, add ! to replace it
line 112:
E122: Function <SNR>18_ProcessSnippet already exists, add ! to replace it
line 123:
E122: Function <SNR>18_Count already exists, add ! to replace it
line 169:
E122: Function <SNR>18_BuildTabStops already exists, add ! to replace it
line 211:
E122: Function snipMate#jumpTabStop already exists, add ! to replace it
line 258:
E122: Function <SNR>18_UpdatePlaceholderTabStops already exists, add ! to replace it
line 302:
E122: Function <SNR>18_UpdateTabStops already exists, add ! to replace it
line 321:
E122: Function <SNR>18_SelectWord already exists, add ! to replace it
line 385:
E122: Function <SNR>18_UpdateChangedSnip already exists, add ! to replace it
line 434:
E122: Function <SNR>18_UpdateVars already exists, add ! to replace it
我做错了吗?...
答案1
好的,我使用原始问题中链接的脚本让它工作了。
事实证明,我使用了 supersnipmate(snipmate 的一个分支),不幸的是,它删除了 snipmate 的内置 supertab 支持。
我也确实使用了托管在 vim.org 上的原始 supertab,但它与 snipmate 也无法很好地兼容。github 上的链接脚本原来是旧 supertab 的后继版本(或延续版本)。
答案2
我让两者合作得很好。
我的 .vimrc 中唯一相关的行是:
let g:SuperTabDefaultCompletionType = "context"