1

我有一个很酷的功能,.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 ?

4

1 回答 1

2

显然你.vimrc没有来源,或者没有达到映射(有条件的?:finish某处?)。您可以检查加载了哪些脚本:scriptnames;它应该列出您的.vimrc. 还要寻找对'runtimepath'. 您可以通过启动 Vim 来逐个命令调试初始执行命令vim -V15

无论如何,您可以通过以下方式检查映射是否存在:verbose imap <Tab>

于 2012-09-19T16:19:05.100 回答