配置过程

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

安装需要的插件

  1. 将想要安装的插件,按照地址填写方法,将地址填写在vundle#begin和vundle#end之间就可以
  2. 保存之后,安装插件。

运行 vim ,再运行 :PluginInstall

安装完成之后,插件就可以使用。

移除不需要的插件

  1. 编辑.vimrc文件移除的你要移除的插件所对应的plugin那一行。
  2. 保存退出当前的vim
  3. 重新打开vim,输入命令BundleClean。

其他常用命令

  1. 更新插件BundleUpdate
  2. 列出所有插件BundleList
  3. 查找插件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> # 可以使用正则搜索文件

centos使用--vim配置和推荐插件使用的更多相关文章

  1. vim配置之taglist插件安装

    上次说了不带插件的vim配置,今天补充两个,来日方长,不定期更新: 首先看一个路径: 下载ctags,将其中的ctags.exe复制到上边目录下边: 地址:https://sourceforge.ne ...

  2. 一起了解下Centos中‘vim配置’有多强大?

    在linux的系统上安装vim编辑器后,发现vim的页面设置还是不太习惯,没有显示的行号,也没有自动的缩进,页面的背景也不是很好看,但是vim编辑器是可以进行配置的,我们可以打造属于自己的vim风格. ...

  3. CentOS 6.5 下Vim 配置图解

    分享个CentOS 6.5 下Vim 配置图文详解,希望对大家有所帮助. 1. 登录并进入你常用的用户名下,查看其主目录 命令: # su xxx $ cd xxx $ ls -a 2.查看并建立目录 ...

  4. centos vim 配置

    centos 6.5使用源码安装vim 7.41.下载vim的源码.vim官网是www.vimunix.com/vim使用链接下载7.4源码包:ftp://ftp.vim.org/pub/vim/un ...

  5. VIM编辑器使用及插件配置

    1.VIM的三种模式: 普通模式.插入模式.命令行模式2.三种模式的转换: 2.1进入普通模式 ①打开VIM默认为普通模式 ②处于插入模式/命令行模式时,按ESC进入普通模式 2.2进入插入模式: A ...

  6. 简单快捷好用的vim配置和终端配置推荐

    vim 配置实用spf13-vim,安装方便简单快捷,极力推荐. 另外oh-my-zsh 终端配置很好,与之搭配使用效果更佳. 安装都很简单,一个脚本搞定, 都是在gitHub上开源的,自行搜索,这里 ...

  7. centos vim配置高亮语法和格式化粘贴

    centos vim配置高亮语法和格式化粘贴 设置vim别名和高亮grep词语 echo -e "\nalias vi=vim\nalias grep='grep --color'\n&qu ...

  8. vim学习、各类插件配置与安装

    vim学习.各类插件配置与安装 vim 插件 配置 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶书籍<vim实用技巧>.注:进阶书籍可以在 ...

  9. linux、centos下安装配置vim

    ---恢复内容开始--- 1.一般情况下安装上centos后,会有vi,没有vim(以后可能会有吧) 如果不确定自己有没有vim,使用命令 rpm -qa|grep vim 查看,如果有的话,会显示三 ...

随机推荐

  1. Description Resource Path Location Type Java compiler level does not match the version of the installed Java project facet Unknown Faceted Project Problem (Java Version Mismatch)

    project 编译问题,需要三处的jdk版本要保持一致,才能编译通过. 1.在项目上右键properties->project Facets->修改右侧的version  保持一致 2. ...

  2. Suggestion: use tools:overrideLibrary="android.support.v17.leanback" to force usage

    Android Studio下修改方法: 在manifest中添加<uses-sdk tools:overrideLibrary="android.support.v17.leanba ...

  3. 如何更换vim-airline的theme

    仓库位置: 点我直达 (主题以前是和airline在同个仓库的,现在独立出来了) 这些内置的这些主题,可以直接使用,方法是在 “.vimrc”文件中写 let g:airline_theme=&quo ...

  4. 洛谷 P1509 找啊找啊找GF

    题目背景 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." "诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sqybi这 ...

  5. java文件

    File类 为了很方便的代表文件的概念,以及存储一些对于文件的基本操作,在java.io包中设计了一个专门的类——File类. 在File类中包含了大部分和文件操作的功能方法,该类的对象可以代表一个具 ...

  6. ffmpeg 安装和参数介绍

    0.说明: 1).configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –pr ...

  7. Selenium入门18 断言

    自动化测试需对比实际结果与预期结果,给出测试结论. 1 条件判断 if ...else... 2 assert ... #coding:utf-8 #断言 from selenium import w ...

  8. user(),current_user()函数的区别

    user() 表示当前的登录用户   current_user() 表示对应于mysql.user表里对应的账号.

  9. mm struct与pgd

    假如该vm_area_struct描述的是一个文件映射的虚存空间,成员vm_file便指向被映射的文件的file结构,vm_pgoff是该虚存空间起始地址在vm_file文件里面的文件偏移,单位为物理 ...

  10. 【CCPC-Wannafly Winter Camp Day4 (Div1) F】小小马(分类讨论)

    点此看题面 大致题意: 给你一张\(n*m\)的棋盘,问你一匹马在两个点中是否存在一条经过黑白格子数目相等的路径. 简化题目 首先,我们来简化一下题目. 考虑到马每次走的时候,所经过的格子的颜色必然发 ...