将vim打造成集成开发环境(IDE)

作者:alan 时间:2013-08-29

    用惯了vim的人,都应该知道它的强大,只要你愿意配,它都要能给你实现。俗话说:“工欲善其事, 必先利其器”,我觉得它就能够称得上linux程序员的利器。因此网上相关的文章也是铺天盖地,我的IDE能够搭建也得益于此,不过也有几个关键的因素是自己琢磨的。这个IDE的几个特色是:

1、 打开程序时,自动打开NERDTree文件夹浏览窗口和taglist函数、变量浏览窗口;

2、 从NERDTree可以直接跳转到tag标签页,同时上面两个窗口也自动打开,而且也可以设置相应的快捷键隐藏它们,我设的是f6,f7。中间的文本窗口还是支持sp、vsp命令进行窗口切割。

当然要做到类IDE其它插件也必不可少,比如ctags、cscope,还有一些自动补全的插件,网上有很多文章,这里就不多说。最后提醒下注意红色字体的内容,因为是成功与否的关键因素。

一、『IDE界面』

 

二、『Taglist安装、使用』

Taglist是vim的一个插件,提供源代码符号的结构化视图。

1、效果图:

 

2、下载和安装

l  从http://www.vim.org/scripts/script.php?script_id=273下载安装包

 进入~/.vim目录,将Taglist安装包解压,解压后会在~/.vim目录中生成几个新子目录,如plugin和doc

进入~/.vim/doc目录,在Vim下运行"helptags ."命令。此步骤是将doc下的帮助文档加入到Vim的帮助主题中,这样我们就可以通过在Vim中运行“help taglist.txt”查看taglist帮助。

打开配置文件~/.vimrc,加入以下几行:

""""""""""""""""""""""""""

"taglist setting

"""""""""""""""""""

"把taglist窗口放在屏幕的右侧,缺省在左侧

let Tlist_Use_Right_Window=1

"关闭vim自动打开taglist,因为NERDTree我设置的是左,所以这个是右,你可以换下试试。

let Tlist_Auto_Open=0

"让当前不被编辑的文件的方法列表自动折叠起来

let Tlist_File_Fold_Auto_Close=1

"给taglist设置快捷键

map <F7> :Tlist<CR>

"当有文件读的时候就打开taglist。这里用的是BufRead事件,如果用WinEnterBufEnterBufWinEnterTagEnter之类的事件都达不到效果,有的很似但会与后面的NERDTreeToggle快捷键产生BUG.autocmd的用法可以参考“VIM REFERENCE MANUAL”

autocmd BufRead * Tlist

到此taglist安装已经完成。

3、基本功能使用方法

在Vim命令行下运行":Tlist"就可以打开Taglist窗口,再次运行":Tlist"则关闭。左右窗口切换Ctrl+ww

在taglist窗口中,可以使用下面的快捷键:

<CR>          跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样

o            在一个新打开的窗口中显示光标下tag

<Space>       显示光标下tag的原型定义

u            更新taglist窗口中的tag

s            更改排序方式,在按名字排序和按出现顺序排序间切换

x            taglist窗口放大和缩小,方便查看较长的tag

+            打开一个折叠,同zoctags常用快捷键ctags常用快捷键

-            将tag折叠起来,同zc

*            打开所有的折叠,同zR

=            将所有tag折叠起来,同zM

[[           跳到前一个文件

]]           跳到后一个文件

q            关闭taglist窗口

三、『NERDTree安装、使用』

1、效果图:

 

2、下载和安装

l  从官网:http://www.vim.org/scripts/script.php?script_id=1658先下载

l  解压缩之后,把 plugin/NERD_tree.vimdoc/NERD_tree.txt分别拷贝到~/.vim/plugin ~/.vim/doc目录。

l  打开配置文件~/.vimrc,加入以下几行:

""""""""""""""""""""""""""""""""

"nerdtree setting

"""""""""""""""""""""""""""""""

let NERDTreeIgnore=['\~$','\.out$','\.o$','\.cmd$','\.pdf$','\.doc$','\.catch$','\.bak$','\.swp','\.ko$','^\.'] "过滤文件
let NERDTreeSortOrder=['\/$','\.S','\.c$','\.cpp$','\.h$','*'] "排序设置

map <F5> :NERDTreeFind<CR>“快捷键设置
map <F6> :NERDTreeToggle<CR>

let NERDTreeShowHidden=1”显示隐藏文件

let NERDTreeShowLineNumbers=1"显示行号

let NERDTreeShowBookmarks=1 "显示书签

let NERDTreeQuitOnOpen=0 "打开文件后不关闭NERDTreeFind窗口
autocmd VimEnter * NERDTreeFind    "进入vim时打开 NERDTreeFind窗口                                                                 
autocmd TabEnter * NERDTreeFind  ”打开tab页时打开 NERDTreeFind窗口 

3、基本功能使用方法

Ø  切换工作台和目录

Ø  ctr+w+h 光标focus左侧树形目录,ctrl+w+l 光标focus右侧文件显示窗口。

Ø  ctrl+w+w,光标自动在左右侧窗口切换

Ø  o.......在已有窗口中打开文件、目录或书签,并跳到该窗口  .....|NERDTree-o| 

Ø  go......在已有窗口 中打开文件、目录或书签,但不跳到该窗口 .....|NERDTree-go|

Ø  t....... 在新Tab中打开选中文件/书签,并跳到新Tab         .....|NERDTree-t| 

Ø  T.......在新Tab中打开选中文件/书签,但不跳到新Tab       .....|NERDTree-T| 

Ø  i.......split 一个新窗口打开选中文件,并跳到该窗口       .....|NERDTree-i|  

Ø  gi......split一个新窗口打开选中文件,但不跳到该窗口     .....|NERDTree-gi| 

Ø  s.......vsp一个新窗口打开选中文件,并跳到该窗口         .....|NERDTree-s|  

Ø  gs......vsp一个新 窗口打开选中文件,但不跳到该窗口       .....|NERDTree-gs| 

Ø  !.......执行当前文件                                    .....|NERDTree-!|              

Ø  O.......递归打开选中 结点下的所有目录                     .....|NERDTree-O|              

Ø  x.......合拢选中结点的父目录                            .....|NERDTree-x|              

Ø  X.......递归合拢选中结点下的所有目录                     .....|NERDTree-X|              

Ø  e.......Edit the current dif                             .....|NERDTree-e|              

Ø  D....... 删除当前书签    

Ø  P.......跳到根结点       

Ø  p....... 跳到父结点      

Ø  K.......跳到当前目录下同级的第一个结点

Ø  J.......跳到当前目录下同级的最后一个结点

Ø  C.......将选中目录或选中文件的父目录设为根结点

Ø  u.......将当前根结点的父目录设为根目录,并变成合拢原根结点

Ø  U.......将当前根结点的父目录设为根目录,但保持展开原根结点

Ø  r.......递归刷新选中目录 

Ø  R.......递归刷新根结点   

Ø  m....... 显示文件系统菜单

Ø  cd......将CWD设为选中目录

Ø  I....... 切换是否显示隐藏文件

Ø  f.......切换是否使用文件过滤器

Ø  F.......切换是否显示文件 

Ø  B.......切换是否显示书签 

Ø  q.......关闭NerdTree窗口 

Ø  ?.......切换是否显示Quick Help

Ø  双击......相当于NERDTree-o

Ø  中键......对文件相当于NERDTree-i,对目录相当于NERDTree-e

四、『结尾』

     这就是最近发现的好东西,跟需要的人分享一下,希望对您有所帮助。文章中的中快捷键部分由网上拷贝没有完全验证,希望不会对您带来影响。

五、『参考网站』

1. vimtaglist, NerdTree使用http://lullabyus.iteye.com/blog/1439491

2.VimNERDTree快捷键,http://hi.baidu.com/moonyjy/item/f9f3a33118ff3d423175a1ef

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值