VIM使用系列:quickfix功能

在程序的开发过程中,很重要的一个循环是:编辑-编译-编辑,vim中的quickfix功能就是为了提高这一循环的效率。quickfix功能将编译过程中产生的错误信息保存到文件中,然后vim利用这些信息跳转到源文件的对应位置,我们就可以进行错误的修正,之后跳到下一个错误重复上述操作,从而极大地提高编译错误的修改效率。

在vim中除了文本编辑功能外,还可以直接地调用外部的编译器完成程序的编译工作,实现这一功能,只要简单地使用vim命令:

<!-- lang: shell -->
:make

make命令执行的程序为vim变量makeprg的值,默认makeprg=make,使用Makefile机制进行项目的编译、管理。可以通过set makeprg=xxx的命令修改makeprg的值,从而使make命令执行不同的编译。例如:

<!-- lang: shell -->
:set makeprg=gcc\ hello.c\ -o\ hello

变量的值为字符串,当在其中有空格时需要用\进行转义,同样如果想输入\也要进行转义。在vim运行时通过命令行设置的变量值均是临时的,即当推出vim环境时,该变量值会恢复为配置文件中的值或者默认值。

推荐使用Makefile的方式进行项目的编译、管理,可以实现项目的自动化管理、有利于提高效率。

通过make命令完成程序的编译工作后,会得到编译结果,一般会有一些编译错误,此时的工作就是对照错误提示修改源文件,然后重新编译。quickfix功能使我们可以直接跳到文件中的错误位置,直接进行修改,并通过使用quickfix的命令完成错误列表的跳转。查看在线帮助,通过命令:

<!-- lang: shell -->
:help quickfix

常用的quickfix命令为:

:cc     显示详细错误信息
:cp     跳到上一个错误
:cn     跳到下一个错误
:cl      列出所有错误
:cw     如果有错误列表,则打开quickfix窗口,没有则什么也不错
:copen 打开quickfix窗口,可以在后面添加窗口高度参数,如10行: :copen 10
:cclose 关闭quickfix窗口
:col     到前一个旧的错误列表
:cnew  到后一个较新的错误列表

当然,为了进一步提高操作效率,还可以对这些命令进行映射,这就看自己的需要了,我还是喜欢使用原始的命令,觉着基本不影响效率。越简单越好,这是原则。

你可能感兴趣的:(vim,quickfix)