vim是个很强大的文本编辑器,不仅是因为它能让我们完全抛弃使用键盘,而且拥有强大的扩展性,可以添加任何各种各样的插件.只要你所想到的,基本能在网上找到想对应的插件.
Vundle
Vundle是vim上的插件管理器.只需要在.vimrc
添加上控件名,Vundle可以帮我们下载到插件文件夹/Users/{username}/.vim/bundle
中.
有一个vim插件的资源网站,可以在那里搜索:vim scripts
clone Vundle ,在输入一下命令
cd ~/.vim/bundle
git clone https://github.com/VundleVim/Vundle.vim.git输入
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim-
修改配置文件
.vimrc
set nocompatible
filetype offset rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " 从这里开始,end之前.添加你想要的插件,可以从本地,github,git,Vim Scripts中加载插件" Plugin 'VundleVim/Vundle.vim' Plugin 'tpope/vim-fugitive' Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} call vundle#end() " required filetype plugin indent on " required " 然后这里开始添加vim的其他配置
添加插件之后(w保存),你可以使用PluginList
查看当前配置中的插件列表
每当添加新的控件之后都要执行
PluginInstall
安装插件
其他常用命令
:BundleList -列举列表(也就是.vimrc)中配置的所有插件
:BundleInstall -安装列表中的全部插件
:BundleInstall! -更新列表中的全部插件
:BundleSearch foo -查找foo插件
:BundleSearch! foo -刷新foo插件缓存
:BundleClean -清除列表中没有的插件
:BundleClean! -清除列表中没有的插件
EasyMotion
高级的vim移动方式.
可以帮助你跳转到特定的单词中,而不必一个一个数要向前或向后跳多少个单词.
主要有两个用途:
- 跳转某个特定单词.
- 跳转某一特定的行.
安装:
Plugin 'EasyMotion'
设置
let g:EasyMotion_leader_key = '{keyword}'
我将快捷键绑定为大写W
,假如我跳转到后面的单词,敲键盘W
和w,会显示多个选项.
让后根据提示输入对应字母就能跳转到其单词.
如果碰到当前超过48个单词,则会有一些相同的字母,输入之后.会跳转到第一个并从新生成字母索引.
neocomplcache
自动补全插件,与此类似还有另外一个插件autocomplete.autocomplete对ruby的支持很差,经常卡死.
这个版本是带缓存版本.
安装:
Plugin `neocomplcache`
设置:
let g:neocomplcache_enable_at_startup = 1
let g:neocomplcache_min_keyword_length = 3 " 从第三个字符开始语法提示
let g:neocomplcache_enable_smart_case = 1" 区分大小写
为了保险起见,在配置完成之后需要在vim中输入一下命令NeoComplCacheEnable
特别地,针对ruby,还需要一下配置
autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
if !exists('g:neocomplcache_force_omni_patterns')
let g:neocomplcache_force_omni_patterns = {}
endif
let g:neocomplcache_force_omni_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'
Syntastic
语法审核和语法错误提示.这个可以实时检测语法并可以高亮其错误.插件本身不自带语法检查器,其中一部分利用系统的检查器,其他的需要自己下载.
安装
Plugin 'Syntastic'
配置
set statusline+=%#warningmsg# " 状态栏警告信息
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
" 语法分析
let g:syntastic_always_populate_loc_list = 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_ruby_exec = 'ruby' // 设置ruby检查器
let g:syntastic_rb_checker = 'mri' " 设置rb格式检查器为mri
vim - powerline
使用与vim的一个更加酷炫的状态栏
安装
这个插件并没有托管在vim scripts上,所以直接从github下载
Plugin 'https://github.com/Lokaltog/vim-powerline.git'
配置
set nocompatible " 不向下兼容
set laststatus=2 " Always show the statusline
set encoding=utf-8 " Necessary to show Unicode glyphs
let g:Powerline_symbols = 'unicode'
let g:Powerline_colorscheme = 'solarized256'
let g:Powerline_stl_path_style = 'short'
set t_Co=256
nerdtree
nrdtree可以在当前vim中分割一个小窗口查看文件目录,如果我们在ruby或python的项目中使用vim,可能需要频繁得打开很多文件.需要查看文件目录查找文件.
打开时默认打开当前文件所在的目录.
安装
Plugin 'The-NERD-tree'
配置
" 如果当前没文件时,自动打开
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
map <C-n> :NERDTreeToggle<CR> " 映射`ctrl+c`快捷键
let g:nerdtree_tabs_smart_startup_focus = 1
let NERDTreeAutoCenter=1 " nerdtree 光标所在的位置默认在窗口中间
let NERDTreeWinPos = 'right' " nerdtree 窗口显示在右边
cocoa.vim
vim下的cocoa扩展.官方文档cocoa.vim
主要特性:
- 增强代码高亮
- xcode式快捷键--⌘R 编译和运行, ⌘0切换项目窗口(只在GUI界面生效)
- 在
.m
文件中输入:ListMethods
命令可以显示文件夹的方法列表 - 在
.m
文件中输入:BuildMethods
命令可以在.h
文件中生成对应的声明方法 - 输入
:CocoaDoc
命令查看文档
使用vim自带的高亮:
使用cocoa.vim中的高亮,增强不多,但聊胜于无:
安装:
Plugin 'cocoa.vim'
配置文件
文件地址下载: .vimrc