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 安装方法:
Emment
做前端的应该对这个挺熟过去是zencoding,非官方插件会有一些奇怪的bug。
Emment:https://github.com/mattn/emmet-vim/
默认快捷键 ctrl+y+,
Vundel 安装方法:
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常用命令,建议装插件的时候都看看自带的文档,里边对插件的使用和快捷键有详细的介绍。