我的.vimrc
中有一个很酷的功能,它允许我用 tab 来完成单词。这是:
" Tab completion of tags/keywords if not at the beginning of the line.
function! InsertTabWrapper()
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\<tab>"
else
return "\<c-p>"
endif
endfunction
我用
映射了标签inoremap <tab> <c-r>=InsertTabWrapper()<cr>
但是当我打开文件时它无法正常工作,我需要使用
来源.vimrc
:source $MYVIMRC<CR>
让它发挥作用。
编辑: 显然与 SnipMate 插件存在冲突
<Tab> * <C-R>=TriggerSnippet()<CR>
Last set from ~/.vim/after/plugin/snipMate.vim
有两种方法可以使用Tab吗?
答案 0 :(得分:2)
显然你的.vimrc
没有来源,或者没有达到映射(有条件的?:finish
?)。您可以使用:scriptnames
检查加载了哪些脚本;它应该列出.vimrc
的完整路径。同时寻找对'runtimepath'
的修改。您可以通过vim -V15
启动Vim来按命令调试初始执行命令。
在任何情况下,您都可以通过:verbose imap <Tab>