我使用vundle安装了YouCompleteMe。 然后安装所有插件并使用
安装YCM./install.sh --clang-completer
这就是我的vimrc的样子:
syntax on
set expandtab
set cindent
set tabstop=4
retab
set shiftwidth=4
set hlsearch
set paste
set ic
set number
colorscheme molokai
set t_Co=256
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'tpope/vim-repeat'
Plugin 'kien/ctrlp.vim'
Plugin 'sjl/gundo.vim'
Plugin 'Valloric/YouCompleteMe'
Plugin 'scrooloose/syntastic'
Plugin 'Valloric/ListToggle'
call vundle#end() " required
filetype plugin indent on
"options for syntastic"
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_python_checkers=['pep8', 'pylint', 'python']
let g:syntastic_enable_signs=1
let g:syntastic_auto_loc_list=1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 1
let g:syntastic_error_symbol = "X"
let g:syntastic_style_error_symbol = ">"
let g:syntastic_warning_symbol = "!"
let g:syntastic_style_warning_symbol = ">"
let g:syntastic_echo_current_error=1
let g:syntastic_enable_balloons = 1
let g:syntastic_auto_jump=1
"Gundo options"
nnoremap <F5> :GundoToggle<CR>
"CtrlP options"
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
"Powerline stuff"
python from powerline.vim import setup as powerline_setup
python powerline_setup()
python del powerline_setup
set laststatus=2
YCM有效,但我无法使用TAB在建议之间切换,仅使用向下和向上箭头并使用回车接受。
为什么会这样?另一个程序是否使用TAB键?
非常感谢你的帮助
答案 0 :(得分:14)
通过配置set paste
,您可以有效地禁用所有映射和缩写。
当您在终端Vim中实际粘贴文本时,您只需要该设置!最好将它绑定到密钥。由于在设置选项时无法使用映射,因此Vim为此提供了一个特殊选项:
:set pastetoggle=<F10>
由于~/.vimrc
来源于Vim启动时(当传递给它的文件尚未加载时),retab
无效;放下它。如果您真的想要为打开的文件自动重新定位,那么您必须使用:autocmd BufRead * retab
,但我建议不要这样做。
答案 1 :(得分:6)
问题是由于&#34;设置粘贴&#34;我的.vimrc中的行
所以,我删除它,当我想在vim中粘贴大块代码时,我只写:set paste启用它或:set nopaste禁用它。此切换也可以映射到f10或任何键。