分享使用vim搭建C语言开发环境好用的几个插件。
首选确保已经安装了vim工具和ctags工具。
ctags支持哪些语言建立索引,可以用 ctags --list-maps
查看,不同的版本支持的语言不一样,新版本已经支持的相当丰富了。
插件安装:
创建 ~/.vim目录。mkdir ~/.vim
在目录下解压分享的插件文件:tar pzxvf vim.plug.tar.gz
,目录结构如下所示:

ctags工具,可以用yum或者apt进行安装
fedora系列操作系统下载 yum install ctags
debian系列操作系统下载 apt install exuberant-ctags
包名称不正确可以用 yum search 或者 apt search 查找一下
首先使用ctags工具生成vim的检索库,在代码目录执行如下指令,生成tags文件。ctags工具还支持java、python。ctags –list-languages 可以查看支持哪些语言处理。

上图示例的代码可以在这里下载:https://www.madbull.site/?p=672
也可以用find过滤需要创建索引的文件:
find . -name "*.[ch]" | xargs ctags -R
打开一个代码文件,.c或者.h文件都可以。
插件中设置了几个比较好用的快捷键。
普通模式下,输入 t l 快捷键(顺序按下就可以),或者在命令行模式下输入 :Tlist,效果如下图。可以用ctrl+w左右切换,在左边选中变量或者函数后,敲回车,可以定位到变量或者函数定义。

普通模式下输入 w m 快捷键(顺序按下就可以),或者在命令行模式下输入 :WMToggle,效果如下所示,可以用ctrl+w左右切换控制窗口。可以打开新文件,或者定位变量或者函数位置。

命令行下输入 :ls 查看已打开文件
命令行下输入 :bn 切换当前打开的文件;或者输入 :b N,N代表 :ls 列出的已打开文件的编号,也可完成已打开文件的切换。
命令行下输入 :bd 或者 :bd N(N代表 :ls 列出的已打开文件的编号),来关闭当前文件或者指定编号的文件。
示例如下图:

普通模式下输入 ctrl + ] 追踪函数、结构体、变量等的定义位置
普通模式下输入 gd 选择当前变量并在全文查找。
还有很多用法,读者可以自己摸索。
vim基本操作参看往期文章:https://www.madbull.site/?p=462 VIM基本操作与快捷键
2024-07-22更新:
新发现一个很好用的插件 ack.vim,可以像grep一样,查询当前目录下有哪些文件包含查询的字符串。源代码在这里:https://github.com/mileszs/ack.vim。需要安装工具ack
fedora系列的系统安装:yum install ack
。注意:需要 epel 源
debian系列的系统安装:apt install ack-grep
kali环境直接安装:apt install ack
然后下载文件 https://github.com/mileszs/ack.vim/blob/master/plugin/ack.vim 保存到 ~/.vim/plugin/ack.vim 就可以了。
上边的 vim.plug.tar.gz 文件已经更新,增加了ack.vim 插件,github连接不顺利可以下载直接使用。
示例如下图,输入Ack pthread_pool_task 就会显示grep显示的结果。ctrl + w 切换窗口,选中某一行,点击回车,就会跳转到对应文档的对应位置。

发表回复