centos使用--vim配置和推荐插件使用
2017-11-07 08:55
190 查看
[toc]
配置过程
1.配置vim,只需在Home目录创建一个~/.vimrc文件即可以配置vim了
2.按照下面给出的vimrc配置内容修改~/.vimrc文件
3.安装ctags
yum install ctags
4.安装Vundel并安装插件
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
运行 vim 打开一个文件,再运行 :PluginInstall
默认安装在/.vim/bundle/vundle下;
$vim ~/.vimrc
将以下加在.vimrc文件中,加入之后保存之后就可以使用vundle了。
添加的配置信息(样例)
注:以后安装新插件就直接编辑vimrc,添加plugin就行了,在这里我们添加的plugin只是例子,你可以不安装这些插件,换上自己需要安装的插件。
保存之后,安装插件。
运行 vim ,再运行 :PluginInstall
安装完成之后,插件就可以使用。
保存退出当前的vim
重新打开vim,输入命令BundleClean。
列出所有插件BundleList
查找插件BundleSearch
运行 vim ,再运行 :PluginInstall
再次打开 ~/.vimrc 个性化配置
这样就可以打开vim之后,先按;然后n,快捷打开NERDTree了
如果没有定义leader的话请定义
常用操作
常用操作
其它配置
常用操作
配置过程
1.配置vim,只需在Home目录创建一个~/.vimrc文件即可以配置vim了
2.按照下面给出的vimrc配置内容修改~/.vimrc文件
3.安装ctags
yum install ctags
4.安装Vundel并安装插件
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
运行 vim 打开一个文件,再运行 :PluginInstall
1.vimrc的配置内容
" 定义快捷键的前缀,即 <Leader> let mapleader=";" " >> " 文件类型侦测 " 开启文件类型侦测 filetype on " 根据侦测到的不同类型加载对应的插件 filetype plugin on " << " >> " vim 自身(非插件)快捷键 " 定义快捷键到行首和行尾 nmap LB 0 nmap LE $ " 定义快捷键关闭当前分割窗口 nmap <Leader>q :q<CR> " 定义快捷键保存当前窗口内容 nmap <Leader>w :w<CR> " 定义快捷键保存所有窗口内容并退出 vim nmap <Leader>WQ :wa<CR>:q<CR> " 不做任何保存,直接退出 vim nmap <Leader>Q :qa!<CR> " 定义快捷键在结对符之间跳转 nmap <Leader>M % " << " 让配置变更立即生效 "autocmd BufWritePost $MYVIMRC source $MYVIMRC " >> " 其他 " 开启实时搜索功能 set incsearch " 搜索时大小写不敏感 set ignorecase " 关闭兼容模式 set nocompatible "设置空格 set backspace=indent,eol,start " vim 自身命令行模式智能补全 set wildmenu " << " >>>> " 插件安装 " vundle 环境设置 filetype off set rtp+=~/.vim/bundle/Vundle.vim " vundle 管理的插件列表必须位于 vundle#begin() 和 vundle#end() 之间 call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'altercation/vim-colors-solarized' Plugin 'tomasr/molokai' Plugin 'vim-scripts/phd' Plugin 'Lokaltog/vim-powerline' Plugin 'octol/vim-cpp-enhanced-highlight' Plugin 'nathanaelkane/vim-indent-guides' Plugin 'derekwyatt/vim-fswitch' Plugin 'kshenoy/vim-signature' Plugin 'vim-scripts/BOOKMARKS--Mark-and-Highlight-Full-Lines' Plugin 'majutsushi/tagbar' Plugin 'vim-scripts/indexer.tar.gz' Plugin 'vim-scripts/DfrankUtil' Plugin 'vim-scripts/vimprj' Plugin 'dyng/ctrlsf.vim' Plugin 'terryma/vim-multiple-cursors' Plugin 'scrooloose/nerdcommenter' Plugin 'vim-scripts/DrawIt' Plugin 'SirVer/ultisnips' Plugin 'derekwyatt/vim-protodef' Plugin 'scrooloose/nerdtree' Plugin 'fholgado/minibufexpl.vim' Plugin 'gcmt/wildfire.vim' Plugin 'sjl/gundo.vim' Plugin 'Lokaltog/vim-easymotion' Plugin 'suan/vim-instant-markdown' Plugin 'lilydjwg/fcitx.vim' Plugin '2072/PHP-Indenting-for-VIm' Plugin 'SyntaxAttr.vim' Plugin 'shawncplus/phpcomplete.vim' Plugin 'tpope/vim-unimpaired.git' Plugin 'PDV--phpDocumentor-for-Vim' Plugin 'Shougo/neocomplcache' Plugin 'scrooloose/syntastic' Plugin 'mattn/emmet-vim' Plugin 'taglist.vim' Plugin 'SearchComplete' Plugin 'ctrlpvim/ctrlp.vim' " 插件列表结束 call vundle#end() filetype plugin indent on " <<<< " 配色方案 set background=dark "colorscheme solarized colorscheme molokai "colorscheme phd "molokai{{{ set rtp+=/usr/local/lib/python2.7/site-packages/powerline/bindings/vim/ set laststatus=2 set t_Co=256 colo molokai let g:molokai_original = 1 "}}} "Shougo/neocomplcache{{{ "Bundle 'Shougo/neocomplcache' set completeopt-=preview let g:neocomplcache_enable_at_startup = 1 let g:neocomplcache_enable_smart_case = 1 let g:neocomplcache_enable_camel_case_completion = 1 let g:neocomplcache_enable_underbar_completion = 1 let g:neocomplcache_caching_limit_file_size = 50000000 let g:neocomplcache_min_syntax_length = 2 "<CR>: close popup and save indent. inoremap <expr><CR> neocomplcache#smart_close_popup() . "\<CR>" "<TAB>: completion. NO USE with snipmate inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" "<C-h>, <BS>: close popup and delete backword char. inoremap <expr><C-h> neocomplcache#smart_close_popup()."\<C-h>" inoremap <expr><BS> neocomplcache#smart_close_popup()."\<C-h>" inoremap <expr><C-Y> neocomplcache#close_popup() inoremap <expr><C-e> neocomplcache#cancel_popup() "let g:neocomplcache_enable_auto_select = 1 "}}} "scrooloose/nerdtree{{{ "Bundle 'scrooloose/nerdtree' " let g:NERDChristmasTree = 1 "let g:NERDTreeQuitOnOpen = 1 "let g:NERDTreeMinimalUI = 1 "let g:NERDShowBookMarks = 1 "let g:NERDTreeIgnore = ['\.pyc$'] map <Leader>n :NERDTreeToggle<CR> " noremap <F2> :NERDTreeToggle<cr> "}}} let g:ctrlp_map = '<leader>p' let g:ctrlp_cmd = 'CtrlP' map <leader>f :CtrlPMRU<CR> let g:ctrlp_custom_ignore = { \ 'dir': '\v[\/]\.(git|hg|svn|rvm)$', \ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz|pyc)$', \ } let g:ctrlp_working_path_mode=0 let g:ctrlp_match_window_bottom=1 let g:ctrlp_max_height=15 let g:ctrlp_match_window_reversed=0 let g:ctrlp_mruf_max=500 let g:ctrlp_follow_symlinks=1 "scrooloose/syntastic{{{ "Bundle 'scrooloose/syntastic' let g:syntastic_always_populate_loc_list = 1 "let g:syntastic_aggregate_errors = 1 let g:syntastic_mode_map = { 'mode': 'active', \ 'active_filetypes': [], \ 'passive_filetypes': ['python'] } "}}} " >> " 营造专注气氛 " 禁止光标闪烁 set gcr=a:block-blinkon0 " 禁止显示滚动条 set guioptions-=l set guioptions-=L set guioptions-=r set guioptions-=R " 禁止显示菜单和工具条 set guioptions-=m set guioptions-=T " >> " 辅助信息 " 总是显示状态栏 set laststatus=2 " 显示光标当前位置 "set ruler " 开启行号显示 set number " 高亮显示当前行/列 "set cursorline "set cursorcolumn " 高亮显示搜索结果 set hlsearch " << " >> " 其他美化 " 设置 gvim 显示字体 set guifont=YaHei\ Consolas\ Hybrid\ 10.5 " 禁止折行 "set nowrap " 设置状态栏主题风格 let g:Powerline_colorscheme='solarized256' " << " >> " 语法分析 " 开启语法高亮功能 syntax enable " 允许用指定语法高亮配色方案替换默认方案 syntax on " << " >> " 缩进 " 自适应不同语言的智能缩进 filetype indent on " 将制表符扩展为空格 set expandtab " 设置编辑时制表符占用空格数 set tabstop=4 " 设置格式化时制表符占用空格数 set shiftwidth=4 " 让 vim 把连续数量的空格视为一个制表符 set softtabstop=4 " 缩进可视化插件 Indent Guides " 随 vim 自启动 let g:indent_guides_enable_on_vim_startup=1 " 从第二层开始可视化显示缩进 let g:indent_guides_start_level=2 " 色块宽度 let g:indent_guides_guide_size=1 " 快捷键 i 开/关缩进可视化 nmap <silent> <Leader>i <Plug>IndentGuidesToggle " << " 模板补全 " UltiSnips 的 tab 键与 YCM 冲突,重新设定 let g:UltiSnipsSnippetDirectories=["mysnippets"] let g:UltiSnipsExpandTrigger="<leader><tab>" let g:UltiSnipsJumpForwardTrigger="<leader><tab>" let g:UltiSnipsJumpBackwardTrigger="<leader><s-tab>" " 设置空格替换/ map <space> / "Filetype Specified {{{ " "=>PHP section autocmd FileType php inoremap <buffer> {<cr> {<cr>}<esc>O autocmd FileType php noremap <buffer> <leader>ep i<?php ?><esc>hhi autocmd FileType php noremap <buffer> <leader>eP i<?php<cr>?><esc>O<esc>==i autocmd FileType php noremap <buffer> <leader>ee i<?php echo ; ?><esc>hhhi autocmd FileType php setlocal cindent autocmd FileType php setlocal makeprg=php\ % autocmd FileType php setlocal omnifunc=phpcomplete#CompletePHP autocmd BufRead,BufNewFile *.ctp set filetype=php.html let g:php_folding = 1 let g:php_strict_blocks = 1 let g:php_sql_query = 1 let g:php_htmlInStrings = 1 let g:php_baseLib = 1 let g:php_special_vars = 1 let g:php_special_functions = 1 let g:php_alt_assignByReference = 1 let g:php_smart_members = 1 let g:php_nested_functions = 1 let g:php_fold_heredoc = 1 """""""""""""""""""""""""""""" " => CSS section """""""""""""""""""""""""""""" autocmd FileType css inoremap <buffer> {<cr> {<esc>o}<esc>O autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS """""""""""""""""""""""""""""" " => Python section """""""""""""""""""""""""""""" au FileType python setlocal makeprg=ipython\ % let python_highlight_all = 1 au BufNewFile,BufRead *.jinja set syntax=htmljinja au BufNewFile,BufRead *.mako set ft=mako au BufNewFile,BufRead *.volt set ft=html au FileType python highlight OverLength ctermbg=red ctermfg=white guibg=#592929 au FileType python match OverLength /\%80v.\+/ """""""""""""""""""""""""""""" " => C section """"""""""""""""""""""""""""""" autocmd FileType C inoremap <buffer> {<cr> {<esc>o}<esc>O autocmd FileType C setlocal makeprg=gcc\ -o\ a\ % \&\& ./a """""""""""""""""""""""""""""" " => JavaScript section """"""""""""""""""""""""""""""" au FileType javascript inoremap <buffer> {<cr> {<esc>o}<esc>O " au FileType javascript call JavaScriptFold() au FileType javascript setl fen au FileType javascript setl nocindent au FileType javascript imap <c-t> AJS.log();<esc>hi au FileType javascript imap <c-a> alert();<esc>hi function! JavaScriptFold() setl foldmethod=syntax setl foldlevelstart=1 syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend function! FoldText() return substitute(getline(v:foldstart), '{.*', '{...}', '') endfunction setl foldtext=FoldText() endfunction au FileType volt set ft=html """""""""""""""""""""""""""""" " => ActionScript section """"""""""""""""""""""""""""""" au BufNewFile,BufRead *.as set filetype=actionscript au BufNewFile,BufRead *.blade.php set filetype=html au BufNewFile,BufRead *.vue set filetype=html """""""""""""""""""""""""""""" " => Vim grep """""""""""""""""""""""""""""" let Grep_Skip_Dirs = 'RCS CVS SCCS .svn generated' set grepprg=/bin/grep\ -nH "}}}
2.Vundle使用
简介
Vundle 是 Vim bundle 的简称,是一个 Vim 插件管理器.安装vundle
$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim默认安装在/.vim/bundle/vundle下;
配置vundle插件:
可以在终端通过vim打开~/.vimrc文件,$vim ~/.vimrc
将以下加在.vimrc文件中,加入之后保存之后就可以使用vundle了。
添加的配置信息(样例)
注:以后安装新插件就直接编辑vimrc,添加plugin就行了,在这里我们添加的plugin只是例子,你可以不安装这些插件,换上自己需要安装的插件。
set nocompatible " 去除VI一致性,必须要添加 filetype off " 必须要添加 " 设置包括vundle和初始化相关的runtime path set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " 另一种选择, 指定一个vundle安装插件的路径 "call vundle#begin('~/some/path/here') " 让vundle管理插件版本,必须 Plugin 'VundleVim/Vundle.vim' " 以下范例用来支持不同格式的插件安装. " 请将安装插件的命令放在vundle#begin和vundle#end之间. " Github上的插件 " 格式为 Plugin '用户名/插件仓库名' Plugin 'tpope/vim-fugitive' " 来自 http://vim-scripts.org/vim/scripts.html 的插件 " Plugin '插件名称' 实际上是 Plugin 'vim-scripts/插件仓库名' 只是此处的用户名可以省略 Plugin 'L9' " 由Git支持但不再github上的插件仓库 Plugin 'git clone 后面的地址' Plugin 'git://git.wincent.com/command-t.git' " 本地的Git仓库(例如自己的插件) Plugin 'file:///+本地插件仓库绝对路径' Plugin 'file:///home/gmarik/path/to/plugin' " 插件在仓库的子目录中. " 正确指定路径用以设置runtimepath. 以下范例插件在sparkup/vim目录下 Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} " 安装L9,如果已经安装过这个插件,可利用以下格式避免命名冲突 Plugin 'ascenator/L9', {'name': 'newL9'} " 你的所有插件需要在下面这行之前 call vundle#end() " 必须 filetype plugin indent on " 必须 加载vim自带和插件相应的语法和文件类型相关脚本 " 忽视插件改变缩进,可以使用以下替代: "filetype plugin on
安装需要的插件
将想要安装的插件,按照地址填写方法,将地址填写在vundle#begin和vundle#end之间就可以保存之后,安装插件。
运行 vim ,再运行 :PluginInstall
安装完成之后,插件就可以使用。
移除不需要的插件
编辑.vimrc文件移除的你要移除的插件所对应的plugin那一行。保存退出当前的vim
重新打开vim,输入命令BundleClean。
其他常用命令
更新插件BundleUpdate列出所有插件BundleList
查找插件BundleSearch
3 使用插件
3.1 NERDTree
打开 ~/.vimrc 增加配置call vundle#begin() "其他一些插件 Plugin 'scrooloose/nerdtree' call vundle#end()
运行 vim ,再运行 :PluginInstall
再次打开 ~/.vimrc 个性化配置
map <Leader>n :NERDTreeToggle<CR>
这样就可以打开vim之后,先按;然后n,快捷打开NERDTree了
如果没有定义leader的话请定义
let mapleader=";"
常用操作
ctrl + w + h 光标 focus 左侧树形目录 ctrl + w + l 光标 focus 右侧文件显示窗口 ctrl + w + w 光标自动在左右侧窗口切换 #!!! ctrl + w + r 移动当前窗口的布局位置 i split 一个新窗口打开选中文件,并跳到该窗口 s vsplit 一个新窗口打开选中文件,并跳到该窗口 m 显示文件系统菜单,然后根据提示进行文件的操作如新建,重命名等
3.2 easymotion
Plugin 'Lokaltog/vim-easymotion'
常用操作
;;w 当前光标后的所有word,提供快捷键跳转 ;;b 当前光标前的所有word,提供快捷键跳转 ;;j 当前光标后的所有行,提供快捷键跳转 ;;k 当前光标后的所有行,提供快捷键跳转
3.3 ctrlp
引入Plugin 'ctrlpvim/ctrlp.vim'
其它配置
let g:ctrlp_map = '<leader>p' let g:ctrlp_cmd = 'CtrlP' map <leader>f :CtrlPMRU<CR> let g:ctrlp_custom_ignore = { \ 'dir': '\v[\/]\.(git|hg|svn|rvm)$', \ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz|pyc)$', \ } let g:ctrlp_working_path_mode=0 let g:ctrlp_match_window_bottom=1 let g:ctrlp_max_height=15 let g:ctrlp_match_window_reversed=0 let g:ctrlp_mruf_max=500 let g:ctrlp_follow_symlinks=1
常用操作
<leader>f # 模糊搜索最近打开的文件(MRU) <leader>p # 模糊搜索当前目录及其子目录下的所有文件 //搜索框出来后,输入关键词,然后可以做如下操作 ctrl + j/k # 进行上下选择 ctrl + x # 在当前窗口水平分屏打开文件 ctrl + v # 同上, 垂直分屏 ctrl + t # 在tab中打开 //在搜索框状态下,还可以进行额外操作 F5 # 刷新可搜索文件 <c-d> # 只能搜索全路径文件 <c-r> # 可以使用正则搜索文件
相关文章推荐
- 使用Github和Vundle管理Vim插件和配置文件
- vim配置(自动补全,自动生成tag,一些使用插件taglist,nerdtree)
- vim的taglist插件的使用和配置
- Mac/Centos下Vim配置及常用插件安装
- 使用Vundle管理配置Vim基本插件
- vim配置(自动补全,自动生成tag,一些使用插件taglist,nerdtree)
- 使用Vim 插件管理程序Vundle的vim配置
- ubuntu 下vim安装、配置和插件的添加使用
- sublime text3配置方法、插件推荐及使用技巧
- vim的taglist插件的使用和配置
- sublime text3配置方法、插件推荐及使用技巧
- bash alias, VIM配置,和使用的插件 RAILS开发相关
- ubuntu 下vim安装、配置和插件的添加使用
- 在CentOS 6.6 64bit上为vim 7.4安装并配置vim-airline插件
- Vim配置、插件和使用技巧
- sublime text3配置方法、插件推荐及使用技巧
- VIM 配置 使用 Ctags Taglist 和cscope 等插件
- vim之syntastic插件使用和配置
- Linux常用命令及vim的使用、vim常用插件(推荐)
- CENTOS6.5中VIM插件配置,重点记录YouCompleteMe的安装 2015-7