当前位置: 首页 > 科技观察

开发者实用Vim插件(三)

时间:2023-03-19 12:48:00 科技观察

至此,在介绍vim插件的系列文章中,我们介绍了使用Pathogen插件管理包安装基本的vim插件,同时也提到了另外三个插件:Tagbar、delimitMate和综合。现在,在最后一部分,我们将介绍另一个非常有用的插件a.vim。请注意,本教程中提到的所有示例、命令和说明均已在Ubuntu16.04上进行测试,使用的vim版本为vim7.4(LCTT译注:Ubuntu16.04的默认版本)。A.vim如果你一直用C、C++这样的语言开发,你一定有这样的感受:我已经数不清在头文件和源代码之间切换了多少次了。我想说的是,这个操作确实很基础,也很频繁。虽然使用基于GUI(图形界面)的IDE(集成开发环境)很容易通过双击鼠标来切换文件,但如果你是一个经验丰富的vim爱好者,习惯使用命令工作就有点别扭了。但不要害怕,我有一个秘籍-插件a.vim。它可以让你解决尴尬,控制各种文件切换。在介绍这个神器的使用之前,我必须强调一点:这个插件的安装过程和我们在其他文章中介绍的不一样,步骤如下:首先,你需要下载两个文件(a.vim和alternate.txt),你可以在这里找到它们。接下来,创建以下目录:~/.vim/bundle/avim、~/.vim/bundle/avim/doc、~/.vim/bundle/avim/plugin和~/.vim/bundle/autoload。创建目录后,将a.vim放入~/.vim/bundle/avim/plugin和~/.vim/bundle/autoload,将alternate.txt放入~/.vim/bundle/avim/doc。就是这样,如果您成功完成了上述步骤,该插件将安装在您的系统上。使用这个插件非常简单,你只需要运行这个命令:A如果当前文件是一个源文件(比如test.c),这个神器会帮你打开test对应的头文件(test.h)。c、反之当然。当然,并不是每个文件对应的每个头文件都存在。在这种情况下,如果您运行:A命令,Artifact将为您创建一个新文件。例如,如果test.h不存在,则运行此命令将为您创建一个test.h,然后将其打开。如果您不想让Artifact启用此功能,您可以在您的主目录的隐藏文件.vimrc中写入g:alternateNonDefaultAlternate变量,并为其分配一个非零值。还有一种情况也很常见,你需要打开的文件不是当前源代码的头文件。比如你当前在test.c中,你想打开头文件men.h,那么你可以输入这个命令:IH,不用说,你必须输入你要打开的文件名稍后打开<文件名>。到目前为止,我们讨论的功能仅限于你当前的文件和要操作的文件都在同一个目录下。但是,如您所知,我们有特殊情况,我的意思是,在许多项目中,头文件和相应的源文件不一定在同一目录中。要解决此问题,您可以使用g:alternateSearchPath变量。官方文档是这样解释的:这个插件允许用户配置它的源文件和头文件的搜索路径。可以通过设置g:alternateSearchPath变量的值来指定此搜索路径。默认设置如下:g:alternateSearchPath='sfr:../source,sfr:../src,sfr:../include,sfr:../inc'使用此代码表示工件将搜索对于../source、../src、../include和../inc所有与对象相关的文件。g:alternateSearchPath变量的值由前缀和路径组成,每个单元以逗号分隔。sfr前缀表示后面的路径是相对于当前文件的,wdr前缀表示目录是相对于当前工作目录的,abs表示路径是绝对路径。如果不指定前缀,默认为sfr。如果我们上面提到的这些功能能让你觉得很酷,那我不得不告诉你,就是这样。另一个非常有用的功能是拆分Vim屏幕,这样您就可以同时看到头文件和相应的源文件。哦,还有,你还可以选择垂直或水平分割。由你决定。使用:AS命令水平分割,使用:AV垂直分割。vim.a垂直分屏vim.a水平分屏使用:A命令在打开的文件之间切换。这个插件还允许你在同一个Vim窗口的不同选项卡中打开多个相应的文件,你输入这个命令:AT。Vim中带有a.vim的选项卡。当然,您可以使用命令:AV、:AS和:AT,也可以使用命令:IHV、:IHS和:IHT。最后,还有很多与编程相关的Vim插件。我们在这个由三部分组成的系列中主要讨论的是,如果您为您的软件开发工作安装了正确的插件,您就会明白为什么vim被称为编辑器之神。当然,我们这里只关注编程。对于将Vim作为日常文档编辑器使用的人来说,你还应该了解一些Vim插件,让你的编辑工作变得更好、更高效。我们将在另一天讨论这个问题。