2010年12月24日星期五

vim 改装成IDE编程环境

1. whereis vim 找到vim的安装路径
#whereis vim
vim: /usr/bin/vim /usr/bin/vim.tiny /usr/bin/vim.basic /etc/vim /usr/share/vim /usr/share/man/man1/vim.1.gz

2.中文帮助手册的安装
安装方法:  
在下面的网站下载中文帮助的文件包:
http://vimcdoc.sf.net       (English)
http://vcd.gro.clinux.org    (中文)
下载 vimcdoc-1.8.0.tar.gz
解压后其中有个doc文件夹, 将其中的内容全部复制到/usr/share/vim/vim/vim72/doc
注意:
a. 如果无法显示中文, 在~/.vimrc中增加下面这句试试:
   set helplang=cn
b. 帮助文件的文本是utf-8编码的, 如果想用vim直接查看, 需要在~/.vimrc中设置:
   set encoding=utf-8

3 vim常用的命令

建议先看看帮助手册中的下面章节, 其中有关tags文件的部分你可以先跳过, 在后面的章节中会讲到, 到时候你在回来看看, 就觉得很简单了:
:help usr_29
:help usr_30
下面是我常用的一些命令, 放在这里供我备忘:
% 跳转到配对的括号去
[[ 跳转到代码块的开头去(但要求代码块中'{'必须单独占一行)
gD 跳转到局部变量的定义处
'' 跳转到光标上次停靠的地方, 是两个', 而不是一个"
mx 设置书签,x只能是a-z的26个字母
`x 跳转到书签处("`"是1左边的键)
> 增加缩进,"x>"表示增加以下x行的缩进
< 减少缩进,"x<"表示减少以下x行的缩进

5. 程序中跳来跳去,ctag的使用
tags文件是由ctags程序产生的一个索引文件, ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序. 那么tags文件是做什么用的呢? 如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿, 怎么办呢? 用grep? 那会搜出很多不相干的地方. 现在流行用是的<C-]>, 谁用谁知道呀, 当光标在某个函数或变量上时, 按下"Ctrl+]", 光标会自动跳转到其定义处
在这个网站: http://ctags.sourceforge.net, 下载一个类似 ctags-5.6.tar.gz 的文件下来
用下面的命令解压安装:
$ tar -xzvf ctags-5.8.tar.gz
$ cd ctags-5.8
$./configure
$ make
# make install   // 需要root权限

然后去你的源码目录, 如果你的源码是多层的目录, 就去最上层的目录, 在该目录下运行命令: ctags -R
我现在以 vim71 的源码目录做演示
$ cd /home/wooin/vim71
$ ctags -R
此时在/home/wooin/vim71目录下会生成一个 tags 文件, 现在用vim打开 /home/wooin/vim71/src/main.c
$ vim /home/wooin/vim71/src/main.c
再在vim中运行命令:
:set tags=/home/wooin/vim71/tags
该命令将tags文件加入到vim中来, 你也可以将这句话放到~/.vimrc中去, 如果你经常在这个工程编程的话.
如果此时你还想再跳回刚才的位置, 你还可以按<C-T>, 这样又跳回到setmouse()函数被调用的地方了, 变量, 结构, 宏, 等等, 都可以的,

此时在回头学习一下第3节中说的vim手册吧
:help usr_29

不过还有一个小瑕疵, 你修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令:
$ ctags -R
使tags文件更新一下, 不过让人感到欣慰的是vim不用重新启动, 正在编写的程序也不用退出, 马上就可以又正确使用<C-]>和<C-T>了.
6.TagList功能:高效地浏览源码, 其功能就像vc中的workpace, 那里面列出了当前文件中的所有宏,全局变量, 函数名等.
安装方法:

1),下载:http://vim-taglist.sourceforge.net/download.html

2), 解压下载文件,将plugin/taglist.vim 拷贝到 $HOME/.vimrc/plugin/taglist.vim

doc/taglist.txt         拷贝到 $HOME/.vimrc/doc/taglist.txt

3),配置.vimrc文件,加入下面几行配置

    ” 设置TList
    let Tlist_Use_LEFT_Window=1
    let Tlist_File_Fold_Auto_Close=1
    let Tlist_Show_One_File=1
    let Tlist_GainFocus_On_ToggleOpen=1
    let Tlist_Exit_OnlyWindow=1
    let g:winManagerWindowLayout=’FileExplorer’
    nmap tl :Tlist<cr>

4),使用:打开一个代码文件,输入tl 即可看到该文件的代码结构
7.文件浏览器和窗口管理器 -- 插件: WinManager
1)下载地址 http://www.vim.org/scripts/script.php?script_id=95
2)下载的winmanager.zip解压到/usr/share/ vim下,
winmanager.zip解压后,plugin下的文件放入 vim/vim72/plugin下
doc下的文件放入/vim/vim72/doc下
3)现在在你的~/.vimrc中增加下面两句
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>
其中左上边是netrw窗口, 左下边是TagList窗口, 当再次输入"wm"命令时这两个窗口又关闭了      





没有评论:

发表评论