工欲善其事必先利其器

Emacs开发环境配置

Vim开发环境配置

首先,我们先看下自己的VIM都安装了什么插件,命令::scriptnames

我们先配置下vimrc文件,vim ~/.vimrc ,我们先设置让其显示行号和高亮代码,添加如下代码:

set nu!  “显示行号
syntax enable   “语法高亮
syntax on

TagList

功能:有点像VC里面的工作区,里面列出了当前文件的所有的宏,全局变量,函数名等。CTRL+W 连续2下可以左右切换。

下载taglist压缩包, 下载地址:http://www.vim.org/scripts/script.php?script_id=273,然后把解压的两个文件taglist.vim 和 taglist.txt 分别放到$HOME/.vim/plugin 和 $HOME/.vim/doc 目录中。

之后在~/.vimrc中添加如下几条命令:

let Tlist_Auto_Open = 1
let Tlist_Ctags_Cmd = ‘/usr/bin/ctags’
let Tlist_Show_One_File = 1
let Tlist_Exit_OnlyWindow = 1

此时,我们打开一个.c文件查看,发现左边多出一个workspace,当不想出现此工作区时,使用:Tlist可以关闭和打开。

Ctags

功能:ctags的作用是为系统头文件及自己的程序头文件建立索引,有了这个索引后,就可以使用其它VIM插件来实现相应的功能,比如我需要的功能就是代码提示,那就需要用omnicppcomplete插件,但该插件是依赖于ctags的。VIM默认已安装此插件。

sudo apt-get install exuberant-ctags

我们在源代码的最上层目录下使用此命令:

ctags -R –c++-kinds=+p 或者ctags -R –c-types=+p+x

再在VIM中运行此命令:

:set tags=/home/linuxer/source/tags 该命令将tags文件加入到vim中,也可以加入到~/.vimrc中。

使用方法:

我们把光标移动到函数上,按下CTRL+],VIM会自动切换到意义的函数处。返回时,我们输入CTRL+t。

vim“找到 tag: 1/? 或更多” 其他定义的查看方法:

:tselect 显示列表

:tn和:tp 显示后一个tag和前一个tag

或者g] 就可以了。

WinManager

功能:作用是一个文件管理器,能列出当前目标中的文件,可以通过这个浏览工程中的源文件。当光标停在某个文件或文件夹的时候,回车可以打开该文件或文件夹。

在说这个插件之前,我们先说下netrw.vim插件,这个插件在安装VIM时候就已经安装到系统里了,我们打开VIM输入:e /home/linuxer/source 就可以显示出该文件夹里面的文件,我们的插件其实原理就是由这个插件实现的。

使用方法:

http://www.vim.org/scripts/script.php?script_id=95 ,将对应的plugin和doc放入 ~/.vim 文件夹下对应的plugin和doc文件夹下。

在~/.vimrc下添加以下两行:

let g:winManagerWindowLayout=’FileExplorer|TagList’

或者 let g:winManagerWindowLayout=’FileExplorer’   “这2个显示方式不一样,读者选择自己喜欢的吧,一个是左右两列,一个是上下2列

nmap wm :WMToggle<cr>

在正常情况下输入wm(无:号)可以开启和打开,注意:第一种会把Taglist也关闭,此时用:Tlist可以重新打开。本人倾向第二种,使用时候用wm开启就可已了。

C/C++自动补全插件:clang complete

这个插件需要clang编译器的支持,我们先安装下:

sudo apt-get install clang

之后下载clang complete:http://www.vim.org/scripts/script.php?script_id=3302

方法:vim clang_complete.vmb -c ‘so %’ -c ‘q’

之后在~/.vimrc里添加 set completeopt=longest 

配合CTRL+N函数、变量补全基本就差不多了。

上传了一份目前我使用的Vimrc配置到github,主要是为了方便你我使用,点击下面链接进入,我的Vimrc设置

目录

  1. 1. Emacs开发环境配置
  2. 2. Vim开发环境配置
    1. 2.1. TagList
    2. 2.2. Ctags
    3. 2.3. WinManager
    4. 2.4. C/C++自动补全插件:clang complete