使用Vim及其插件构建C语言开发环境
使用Vim及其插件构建C语言开发环境
本文将介绍如何使用Vim及其插件构建C语言开发环境。文章详细介绍了Vim插件的安装步骤、ctags工具的使用方法以及一些实用的快捷键。此外,文章还推荐了一个名为ack.vim的插件,用于在代码中搜索特定字符串。
前提条件
确保已经安装了Vim工具和ctags工具。ctags支持多种语言建立索引,可以通过以下命令查看支持的语言:
ctags --list-maps
插件安装
创建
~/.vim
目录:mkdir ~/.vim
在目录下解压分享的插件文件:
tar pzxvf vim.plug.tar.gz
ctags工具安装
Fedora系列操作系统:
yum install ctags
Debian系列操作系统:
apt install exuberant-ctags
如果包名称不正确,可以使用yum search
或apt search
进行查找。
使用ctags生成检索库
在代码目录执行以下指令,生成tags
文件:
ctags .
也可以使用find
命令过滤需要创建索引的文件:
find . -name "*.[ch]" | xargs ctags -R
Vim快捷键
普通模式下输入
t l
或在命令行模式下输入:Tlist
,效果如下图。可以用Ctrl+w
左右切换,在左边选中变量或者函数后,敲回车,可以定位到变量或者函数定义。普通模式下输入
w m
或在命令行模式下输入:WMToggle
,效果如下所示,可以用Ctrl+w
左右切换控制窗口。可以打开新文件,或者定位变量或者函数位置。命令行下输入
:ls
查看已打开文件命令行下输入
:bn
切换当前打开的文件;或者输入:b N
,N代表:ls
列出的已打开文件的编号,也可完成已打开文件的切换。命令行下输入
:bd
或:bd N
(N代表:ls
列出的已打开文件的编号),来关闭当前文件或者指定编号的文件。普通模式下输入
Ctrl + ]
追踪函数、结构体、变量等的定义位置普通模式下输入
gd
选择当前变量并在全文查找。
ack.vim插件
这是一个很好用的插件,可以像grep
一样,查询当前目录下有哪些文件包含查询的字符串。源代码在这里:GitHub - mileszs/ack.vim: Vim plugin for the Perl module / CLI script 'ack'。
安装方法
Fedora系列的系统:
yum install ack
注意:需要epel源
Debian系列的系统:
apt install ack-grep
Kali环境:
apt install ack
然后下载文件ack.vim/plugin/ack.vim
保存到~/.vim/plugin/ack.vim
即可。
使用示例
输入Ack pthread_pool_task
就会显示grep
显示的结果。Ctrl + w
切换窗口,选中某一行,点击回车,就会跳转到对应文档的对应位置。