Vim 编辑器的改造一
市场上众多IDE,简单可以分类概况一下:
重量级:VS , eclipse ,Netbeans,IntelliJ 等
中量级:subtext,subline,ultraEdit 等
轻量级:notepad等
神级:VIM / Emacs
(神级也称SB及,有很多人嘲笑黑屏时代原始社会的IDE,个人认为这是癖好问题,至于选择不选择使用这个编辑器依然是自己爱好的事情,据说微软内部人员只用两种编辑器VIM、Emacs, linux之父用的是 emacs的一个小变种等等。关于Vim和Emacs 之争,编辑器之神,神的编辑器,直道现在还未了解。在这里不做叙述,我只表明自己的态度,自己试过emacs,vim,选择了后者。)
vim 强大在于可扩展性性,使得编辑效率极大的提升,用户可以完全抛弃鼠标,专注于屏幕,强大高效的完成代码的编辑工作。
用户关系的更多的是Vim的配置,开源的好处就是可以各取所需找到自己想要的东西,当然完全符合自己胃口的东西又是非常难找的。因为网上推荐的很多,同一个功能或许有很多不同但优秀的插件。你不知道哪一个最好,就得一个一个的去实验,发现其中的优劣。然而这个圈子是小众,不可能有大的优胜劣汰,功能性能的插件需要一段时间才能被大家抛弃,优胜劣汰的优势不明显,开源允许各种差异的存在。
The import thing is u choice ! 痛苦就是在于选择的过程。有的插件做的好,学习成本就很小,bug非常小。在这个博文并不是让用户复制联贴我的vimrc的插件,而且向大家推荐好的东西,比较不好的东西。
首先推荐几个我自己认为写的比较好的blog
1. 子龙山人: http://zilongshanren.com/blog/2013/01/15/vim-the-killer/
2. vimer: http://www.vimer.cn/
3. vim 官网 : http://www.vim.org
下面的内容是自己这几天的总结,里面有自己的喜好,还有对与一些内容的补充。
插件1:vim 插件管理者 vundle 替换 pathogen
好处: 1.vundle 在vimrc配置简单
2.vundle可以更新插件,这个功能是重点。
我在这里不叙述了,有人写的比我好,自己看吧,怎么配置怎么用。
blog: http://williamherry.com/blog/2012/07/16/master-vim-01-vundle/
插件1:vim 插件管理者 vundle 替换 pathogen
好处: 1.vundle 在vimrc配置简单
2.vundle可以更新插件,这个功能是重点。
我在这里不叙述了,有人写的比我好,自己看吧,怎么配置怎么用。
blog: http://williamherry.com/blog/2012/07/16/master-vim-01-vundle/
插件2: vim-airline 替代 powerline
看着是不是很给力,笔者在用的过程之中遇到了几个问题:
1. 有的时候启动失败,不显示。有的是用户的问题 在linux环境之中 sudo 才显示,有的时候不是这个问题
2. 卡顿现象,时不时出现卡顿反映奇慢的事情。
作者的解释如下:
There's already powerline, why yet another statusline?
- 100% vimscript; no python needed.
- small. i want the core plugin to be less than 200 lines as a rule (specifically adhering to the open/closed principle).
- integrates with a variety of plugins: vim-bufferline, fugitive, unite, ctrlp, minibufexpl, gundo, undotree,nerdtree, tagbar, syntastic and lawrencium.
- looks good with regular fonts and provides configuration points so you can use unicode or powerline symbols.
- fast to load, taking roughly 1ms. by comparison, powerline needs 60ms on the same machine.
- fully customizable; if you know a little
statuslinesyntax you can tweak it to your needs. - trivial to write colorschemes; for a minimal theme you need to edit 9 lines of colors (please send pull requests).
What about old powerline?
- the old version still works well, but since it's deprecated new features won't get added.
- it uses different font codes, which makes it incompatible with other powerline bindings in the same terminal (e.g. bash, zsh, tmux, etc.).
大概的意思就是:用的是vim脚本写的更快,比powerline更NB, 因为我自己比较懒,不想再重新弄了,但是我还是推荐 vim-airline这个新生代。
笔者强烈建议安装 Ctrlp,快捷键 Ctrl + P
左侧是Nerd 下面是Ctrlp 搜索文件非常方便,在搜索文件时候不一定是全拼文件
如:\wwwroot\china\beijing 可以wwwchbei 就搜索到了
注意: 三个窗口的切换快捷键:Ctrl + W 两次 ,切换到的那一个窗口下面的line颜色条会变化,仔细看一看你自己在的窗口颜色条 ,退出直接 : q
NerdTree 我一般都不怎么用,把它放到左侧,显示文件目录结构,打开文件一般用CtrlP,时间久了对CtrlP更加依赖
插件4. TagBar插件 显示文件的变量名,以及函数名称,即eclipse的outline
笔者设置了快捷键 F4 呼出,非常方便
在vimrc中的设置
nmap <silent> <F4> :TagbarToggle<CR>
let g:tagbar_ctags_bin = 'ctags'
let g:tagbar_width = 30
全局搜索设置:
一直在找全局的搜索设置,很多博文都没有说明白怎么弄,都给力一堆设置,或者copy别人的。用过eclipse就知道它的全局搜索非常厉害。在这个方面,有人用ctags,有人用scope等等
ctags是在项目中生成tags文件,详细记录了类的变量等等,但是有一个问题就是,在用户编辑状态反复生成ctags比较麻烦,好在有人用开源了解决方案,我也觉得比较繁琐。后来经过查找,vim自带的就有全局搜索名为:vimgrep
注意: grep是linux命令 vimgrep是vim命令
语法: vimgrep XXX path 如: vimgrep def *.py /搜索函数的定义字符
(最下面的小萝莉:Quickfix里面就是内容)如果用户在vimrc里面不设置,搜索结果则覆盖全屏幕,这时候 :cw 一下 把结果放到 Quickfix Window
语法: cw 把结果放到 Quickfix Window
cclose 关闭
cn 下一个
cp 上一个
笔者稍微参考网上改进了一下,搜索结果以下窗口显示 F5 命令搜索, F6上一个 F7下一个
nnoremap <F5> :vimgrep /word/ **/*.py \| cw
nnoremap <F6> :cp <CR>
nnoremap <F7> :cn <CR>
保存一下,退出vimrc 自己试验一下 F5,更改word内容试一试
以下插件可以参考子龙山人的配置,自己不做阐述只列出必要的插件
插件5:Vim-Surround 强烈推荐极大效率插件
作用:hello world 加上双引号 ysiw " 即快速又给力非常方便,它的用法参加github上面的说明,这个插件强烈推荐大家使用
插件7:自动补全插件 neocomplcache-clang:解决clang_complete和neocomplcache的冲突
插件8:supertab
今天就写到这里,下一篇我将阐述vim tab 窗口,窗口分割,调试等等内容,抛砖引玉,希望您的神配置。



