我的vimrc中的自动加载功能

时间:2012-09-19 14:43:06

标签: vim

我的.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吗?

1 个答案:

答案 0 :(得分:2)

显然你的.vimrc没有来源,或者没有达到映射(有条件的?:finish?)。您可以使用:scriptnames检查加载了哪些脚本;它应该列出.vimrc的完整路径。同时寻找对'runtimepath'的修改。您可以通过vim -V15启动Vim来按命令调试初始执行命令。

在任何情况下,您都可以通过:verbose imap <Tab>

检查映射是否存在