(--- 图12 ---)
在下面的QuickFix窗口中我们可以找到每一个编译错误, 同样你可以用鼠标点击每一条记录, 代码会马上自动跳转到错误处, 你还可以用下面的命令来跳转: :cn // 切换到下一个结果:cp // 切换到上一个结果
如果你经常使用这两个命令, 你还可以给他们设定快捷键, 比如在~/.vimrc中增加: nmap
其还有其他的命令/插件也会用到QuickFix窗口, 但是用法基本上的都是类似的, 本文后面还会用到QuickFix窗口, 接着往下看吧.
10. 快速浏览和操作Buffer -- 插件: MiniBufExplorer
下载地址 版本 安装 手册
http://blog.csdn.net/wooin?
http://www.vim.org/scripts/script.php?script_id=159 6.3.2
将下载的 minibufexpl.vim文件丢到 ~/.vim/plugin 文件夹中即可 在minibufexpl.vim 文件的头部
21
在编程的时候不可能永远只编辑一个文件, 你肯定会打开很多源文件进行编辑, 如果每个文件都打开一个vim进行编辑的话那操作起来将是多麻烦啊, 所以vim有buffer(缓冲区)的概念, 可以看vim的帮助: :help buffer
vim自带的buffer管理工具只有:ls, :bnext, :bdelete 等的命令, 既不好用, 又不直观. 现在隆重向你推荐一款vim插件(plugin): MiniBufExplorer
使用方法:
重新启动vim, 当你只编辑一个buffer的时候MiniBufExplorer派不上用场, 当你打开第二个buffer的时候, MiniBufExplorer窗口就自动弹出来了, 见下图:
(--- 图13 ---)
上面那个狭长的窗口就是MiniBufExplorer窗口, 其中列出了当前所有已经打开的buffer, 当你把光标置于这个窗口时, 有下面几个快捷键可以用:
向前循环切换到每个buffer名上 向后循环切换到每个buffer名上 在打开光标所在的buffer 删除光标所在的buffer
以下的两个功能需要在~/.vimrc中增加: let g:miniBufExplMapCTabSwitchBufs = 1
向前循环切换到每个buffer上,并在但前窗口打开
如果在~/.vimrc中设置了下面这句: let g:miniBufExplMapWindowNavVim = 1
则可以用
let g:miniBufExplMapWindowNavArrows = 1 是用
下载地址 版本 安装
http://www.vim.org/scripts/script.php?script_id=31
将a.vim 放到 ~/.vim/plugin 文件夹中
http://blog.csdn.net/wooin?
22
手册 无
下面介绍它的用法:
作为一个C程序员, 日常Coding时在源文件与头文件间进行切换是再平常不过的事了, 直接用vim打开其源/头文件其实也不是什么麻烦事, 但是只用一个按键就切换过来了, 这是多么贴心的功能啊....
安装好a.vim后有下面的几个命令可以用了: :A
在新Buffer中切换到c\\h文件 :AS 横向分割窗口并打开c\\h文件 :AV 纵向分割窗口并打开c\\h文件 :AT 新建一个标签页并打开c\\h文件
其他还有一些命令, 你可以在它的网页上看看, 我都没用过, 其实也都是大同小异, 找到自己最顺手的就行了.
我在~/.vimrc中增加了一句: nnoremap
意思是按F12时在一个新的buffer中打开c\\h文件, 这样在写程序的时候就可以不假思索地在c/h文件间进行切换, 减少了按键的次数, 思路也就更流畅了, 阿弥陀佛.... 12. 在工程中查找 -- 插件: Grep
下载地址 版本 安装 手册
http://www.vim.org/scripts/script.php?script_id=311 1.8
把grep.vim 文件丢到 ~/.vim/plugin 文件夹就好了 在grep.vim 文件头部
下面介绍它的用法:
vim有自己的查找功能, 但是跟shell中的grep比起来还是有些差距的, 有时Coding正火急火燎的时候, 真想按下F3, 对光标所在的词来个全工程范围的grep, 不用敲那些繁琐的命令, 现在福音来了, 跟我同样懒的人不在少数, 在grep.vim脚本的前部可以找到一些说明文档: :Grep :Rgrep
按照指定的规则在指定的文件中查找 同上, 但是是递归的grep
:GrepBuffer 在所有打开的缓冲区中查找 :Bgrep :GrepArgs :Fgrep :Rfgrep :Egrep
同上
在vim的argument filenames (:args)中查找 运行fgrep 运行递归的fgrep 运行egrep
http://blog.csdn.net/wooin?
23
:Regrep :Agrep :Ragrep
运行递归的egrep 运行agrep 运行递归的agrep
上面的命令是类似这样调用的:
:Grep [
但是我从来都不用敲上面那些命令的^_^, 因为我在~/.vimrc中增加了下面这句: nnoremap
比如你想在/home/wooin/vim71/src/main.c中查找\\F3键, 如下图:
http://blog.csdn.net/wooin?
24
(--- 图14 ---)
在最下面的命令行会显示:
Search for pattern: FEAT_QUICKFIX
此时你还可以编辑该行, grep支持正则表达式, 你想全词匹配的话可以改成: Search for pattern: \\
(--- 图15 ---)
在最下面的命令行会显示: Search in files: *
是问你搜索范围, 默认是该目录下的所有文件, 此时你还可以编辑该行, 比如你只想搜索源码文件:
http://blog.csdn.net/wooin?
25