" ----------------------------------------------------------------------------
" Functions
" ----------------------------------------------------------------------------
function! g:UltiSnips_Complete()
call UltiSnips#ExpandSnippet()
if g:ulti_expand_res == 0
if pumvisible()
return "\<c-n>"
else
call UltiSnips#JumpForwards()
if g:ulti_jump_forwards_res == 0
return "\<tab>"
endif
endif
endif
return ""
endfunction
"
" ----------------------------------------------------------------------------
" Autocmds
" ----------------------------------------------------------------------------
augroup relativenumber
autocmd InsertEnter,focusLost * :set norelativenumber
autocmd InsertLeave,focusGained * :set relativenumber
augroup END
autocmd BufEnter * exec "inoremap <silent> " . g:UltiSnipsExpandTrigger . " <c-r>=g:UltiSnips_Complete()<cr>"
上面的代码构成了我的 .vimrc 文件的结尾。此功能可以正常工作,但经过一些更新(YouCompleteMe 或 UltiSnips,不确定),这些工作的唯一时间是我第一次在目录中打开 vim,然后从那里打开文件。我认为这与 autocmd 有关,但老实说,我什至不知道从哪里开始。我尝试将 autocmd 事件更改为 BufRead,但不幸的是,这没有任何区别。任何帮助表示赞赏,谢谢!
编辑:如果您认为有更好的地方我可以发布这个问题或者您需要更多详细信息,请告诉我!我很乐意提供帮助。