Mac/Centos下Vim配置及常用插件安装

Mac/Centos下Vim配置及常用插件安装

版本需求

macbook yosemite是vim7.3
centos6.5上默认的是vim7.2,因为许多插件需要版本7.3以上支持,vim升级到了7.4。
注:其中taglist插件需要的ctags版本5.8,mac需要重新安装,centos 6.5默认自带ctags5.8。
因为安装基本相同,下边主要介绍macbook上的安装方法。

配置文件

set  nocompatible               " be iMproved, required
filetype  off                   " required

set  rtp += ~/.vim /bundle /Vundle .vim
call vundle#begin ( )

Plugin  'gmarik/Vundle.vim'

" plugins

Plugin  'scrooloose/nerdtree'
Plugin  'bling/vim-airline'
Plugin  'mattn/emmet-vim'
Plugin  'godlygeek/tabular'
Plugin  'Shougo/neocomplcache.vim'
Plugin  'jelera/vim-javascript-syntax'
Plugin  'kien/ctrlp.vim'
Plugin  'terryma/vim-multiple-cursors'
Plugin  'tpope/vim-commentary'
Plugin  'jiangmiao/auto-pairs'

Plugin  'jQuery'
Plugin  'othree/html5.vim'

call vundle#end ( )             " required
filetype  plugin  indent  on     " required

" settings

syntax enable
syntax  on

let mapleader= ','
let g :molokai_original =  1
let g :rehash256 =  1
set t_Co= 256
colorscheme molokai

set  termencoding=utf - 8
set  encoding=utf8
set  fileencodings=utf8,ucs -bom,gbk,cp936,gb2312,gb18030
set  cul

set  laststatus= 2 
set  number
set  noshowmode

set  tabstop= 4
set  shiftwidth= 4
set  softtabstop= 4

set  expandtab
set  smarttab
set  autoindent
set  smartindent
set  ruler
set  ignorecase
set  hls
set  foldmethod= syntax
set  showcmd

" backup

set  nobackup
set  nowb
set  noswapfile

" search

set  hlsearch
set  incsearch

" backspace

set  backspace= eol,start, indent
set  whichwrap += <, >,h,l

" javascript settings

au  BufRead, BufNewFile jquery .*. js  set  ft=javascript  syntax=jquery

" html5 settings

let g :html5_event_handler_attributes_complete =  0

" nerdtree settings

autocmd  vimenter  * NERDTree
autocmd  StdinReadPre  *  let s :std_in= 1
autocmd  VimEnter  *  if  argc ( ) ==  0  &&  ! exists ( "s:std_in" )  | NERDTree  |  endif
map      :NERDTreeToggle <CR >
autocmd  bufenter  *  if  ( winnr ( "$" ) ==  1  &&  exists ( "b:NERDTreeType" )  && b :NERDTreeType ==  "primary" )  | q  |  endif

" airline settings

let g :airline_powerline_fonts =  1
let g :airline#extensions#tabline#enabled =  1
let g :airline#extensions#tabline#left_sep =  ' '
let g :airline#extensions#tabline#left_alt_sep =  '|'

" ctags settings

let Tlist_Ctags_Cmd = '/usr/local/Cellar/ctags/5.8/bin/ctags'   "这里比较重要了,设置ctags的位置,不是指向MacOS自带的那个,而是我们用homebrew安装的那个,Centos下配置注销这行即可。

" taglist settings

let Tlist_Use_Right_Window =  1  "让taglist窗口出现在Vim的右边
let Tlist_File_Fold_Auto_Close =  1  "当同时显示多个文件中的tag时,设置为1,可使taglist只显示当前文件tag,其它文件的tag都被折叠起来。
let Tlist_Show_One_File =  1  "只显示一个文件中的tag,默认为显示多个
let Tlist_Sort_Type = 'name'  "Tag的排序规则,以名字排序。默认是以在文件中出现的顺序排序
let Tlist_GainFocus_On_ToggleOpen =  1  "Taglist窗口打开时,立刻切换为有焦点状态
let Tlist_Exit_OnlyWindow =  1  "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_WinWidth =  32  "设置窗体宽度为32,可以根据自己喜好设置
map      :TlistToggle 

" emment settings

let g :user_emmet_mode= 'n'     "only enable normal mode functions.
let g :user_emmet_mode= 'inv'   "enable all functions, which is equal to
let g :user_emmet_mode= 'a'     "enable all function in all mode.
let g :emmet_html5 =  0

let g :user_emmet_install_global =  0
autocmd  FileType html,css EmmetInstall
" let g:user_emmet_leader_key='

" let g:user_emmet_expandabbr_key=''


" neocompletecache settings

let g :acp_enableAtStartup =  0
let g :neocomplcache_enable_at_startup =  1
let g :neocomplcache_enable_smart_case =  1
let g :neocomplcache_min_syntax_length =  3
let g :neocomplcache_lock_buffer_name_pattern =  '\*ku\*'

inoremap  <expr ><C -g >     neocomplcache#undo_completion ( )
inoremap  <expr ><C -l >     neocomplcache#complete_common_string ( )

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 ( )

autocmd  FileType css  setlocal  omnifunc=csscomplete#CompleteCSS
autocmd  FileType html,markdown  setlocal  omnifunc=htmlcomplete#CompleteTags
autocmd  FileType javascript  setlocal  omnifunc=javascriptcomplete#CompleteJS
autocmd  FileType python  setlocal  omnifunc=pythoncomplete#Complete
autocmd  FileType xml  setlocal  omnifunc=xmlcomplete#CompleteTags

" ctrlp settings

let g :ctrlp_map =  ''
let g :ctrlp_cmd =  'CtrlP'

let g :ctrlp_working_path_mode =  'ra'
set  wildignore += */tmp /*, *. so, *.swp, *.zip      " Linux/MacOSX

let g :ctrlp_user_command =  'find %s -type f'         " MacOSX/Linux

github上被star 2300次的vim的配置建议参考:https://github.com/amix/vimrc/tree/master/vimrcs,建议弄明白了再复制过来。

插件管理Vundle

Vundel : https://github.com/gmarik/Vundle.vim
Vundel常用命令

:BundleList 列出已经安装的插件
:BundleInstall 安装所有配置文件中的插件
:BundleInstall! 更新所有插件
:BundleSearch 搜索插件
:BundleClean! 根据配置文件删除插件

配色方案 molokai

和sublime text3 上的配色一样都是molokai
molokai:https://github.com/tomasr/molokai
下载colors文件夹,将molokai.vim 复制到~/.vim/colors 中即可。

常用插件

nerdtree

主要功能是一款文件浏览器,可以查看文件目录结构打开相应的文件。
nerdtree:https://github.com/scrooloose/nerdtree

Vundel 安装方法:

Plugin 'scrooloose/nerdtree'

ctrlp

就像名字它的快捷键就是ctrl+p 实现快速查找文件。
ctrlp:https://github.com/kien/ctrlp.vim

Vundel 安装方法:

Plugin 'kien/ctrlp.vim'

Emment

做前端的应该对这个挺熟过去是zencoding,非官方插件会有一些奇怪的bug。
Emment:https://github.com/mattn/emmet-vim/
默认快捷键 ctrl+y+,
Vundel 安装方法:

Plugin 'emmetio/emmet'

html5

支持html5标签
html5:https://github.com/othree/html5.vim
Vundel 安装方法:

Plugin 'othree/html5.vim'

vim-ariline

vim-ariline:https://github.com/bling/vim-airline
Vundel 安装方法:

Plugin 'bling/vim-airline'

问题:剪头显示不出来?
解决:
1、下载powerline font https://github.com/Lokaltog/powerline-fonts
2、mac直接找到powerline文件夹中的文件点击安装即可,同时去终端(terminal)选择你安装的powerline字体剪头即可显示正常。
相关文章:https://powerline.readthedocs.org/en/latest/installation.html#installation-patched-fonts

taglist

taglist:https://github.com/vim-scripts/taglist.vim
Vundel 安装方法:

Plugin 'vim-scripts/taglist.vim'

问题:taglist没有安装ctags无效?
解决:
1、下载ctags http://sourceforge.net/projects/ctags/files/ctags/
2、安装ctags
$ brew install ctags
3、ctags路径配置

" ctags settings
let Tlist_Ctags_Cmd ='/usr/local/Cellar/ctags/5.8/bin/ctags'  "这里比较重要了,设置ctags的位置,不是指向MacOS自带的那个,而是我们用homebrew安装的那个

neocomplcache

代码补全
taglist:https://github.com/Shougo/neocomplcache.vim

Vundel 安装方法:

Plugin 'Shougo/neocomplcache.vim'

vim-commentary

批量注释
commentary:https://github.com/tpope/vim-commentary

Vundel 安装方法:

Plugin 'tpope/vim-commentary'

auto-pairs

括号自动匹配
auto-pairs:https://github.com/jiangmiao/auto-pairs

Vundel 安装方法:

Plugin 'jiangmiao/auto-pairs'

vim-multiple-cursors

批量选取。默认快捷键是CTRL+N
vim-multiple-cursors:https://github.com/terryma/vim-multiple-cursors

总结

按照我上边的配置做前端开发肯定没问题了。

现在本人的生产工具是sublimetext,全平台vim也都装了下,还是比较复杂尤其是配置方面,暂时不会把工具切换过来,可能会在阿里云服务器linux平台多用一下,实现服务器端改一些东西。

vim需要强大之处就是强大的快捷键,实现无鼠标操作。实现这个就得需要背很多快捷键,我印象笔记就放了Vim常用命令、nerdtree快捷键、Vundle常用命令,建议装插件的时候都看看自带的文档,里边对插件的使用和快捷键有详细的介绍。

你可能感兴趣的:(技术类)