2024年11月CentOS 6.2配置vim开发环境的步骤(4)

发布时间:

  ⑴.配置.vimrc文件

  ⑵当vim在启动时,如果没有找到vimrc或gvimrc,它缺省工作VI兼容的模式。这意味着,你只能使用VI所具备的功能,而vim中的大量扩展功能将无法使用。也许这就是你的vim如此难用的原因。

  ⑶vim中自带了一个vimrc例子,以我所在的CentOS .上的为例,使用下面的命令找到这个文件

  ⑷locate vimrc_example.vim

  ⑸发现它的真实目录在

  ⑹/usr/share/vim/vim/vimrc_sample.vim

  ⑺将其拷贝到我的主目录下面

  ⑻cp -f /usr/share/vim/vim/vimrc_sample.vim ~/.vimrc

  ⑼或者你在vim中执行下面的命令,和上面的shell命令完成相同的功能:

  ⑽:!cp $VIMRUNTIME/vimrc_example.vim ~/.vimrc

  ⑾现在,你退出vim后再进入,你的vim和刚才已经不一样了。

  ⑿你可以先读一下你的vimrc,看看它都设定了什么:

  ⒀:e ~/.vimrc

  ⒁这是一个注释良好的文件,不需要多解释。

  ⒂在今后使用vim的日子里,你会频繁的更改你的vimrc。所以我们需要设置一些快捷方式,使我们能快速的访问vimrc。

  ⒃把下面这段内容拷贝到你的vimrc中:

  ⒄ “Set mapleader

  ⒅ let mapleader = ”;“

  ⒆ ”Fast reloading of the .vimrc

  ⒇ map 《silent》 《leader》ss :source ~/.vimrc《cr》

  ⒈ “Fast editing of .vimrc

  ⒉ map 《silent》 《leader》ee :e ~/.vimrc《cr》

  ⒊ ”When .vimrc is edited, reload it

  ⒋ autocmd! bufwritepost .vimrc source ~/.vimrc

  ⒌为了方便解释,我给每一行都加了一个行号。

  ⒍在vimrc中,双引号开头的行,将被当作注释忽略。

  ⒎第行,用来设置mapleader变量,当mapleader为未设置或为空时,使用缺省的””来作为mapleader。mapleader变量是作用是什么呢?看下面的介绍。

  ⒏第行定义了一个映射(map,这个映射把《leader》ss,映射为命令:source ~/.vimrc《cr》。当定义一个映射时,可以使用《leader》前缀。而在映射生效时,vim会把《leader》替换成mapleader变量的值。也就是说,我们这里定义的《leader》ss在使用时就变成了”,ss“,当输入这一快捷方式时,就会source一次~/.vimrc文件(也就是重新执行一遍.vimrc文件。

  ⒐第行,定义了《leader》ee快捷键,当输入,ee时,会打开~/.vimrc进行编辑。

  ⒑第行,定义了一个自动命令,每次写入.vimrc后,都会执行这个自动命令,source一次~/.vimrc文件。

  ⒒有了上面的快捷键,我们就能快速的打开vimrc文件编辑,快速重新source vimrc文件,方便多了。

  ⒓相关的配置文件参见赵攀提供的.vimrc文件的内容。

  ⒔注意:最后的源码结构类似如下:

  ⒕~--|--.vimrc

  ⒖|--.vim --|-plugin--

  ⒗|-autoload

  ⒘.下载一个trafficserver的源码,并以此为例来阐释使用vim开发的方法

  ⒙登陆...上,并在当前主目录上新建一个program_dev目录

  ⒚mkdir program_dev

  ⒛下载完成后,解压缩

  ①tar jxvf trafficserver-...tar.bz

  ②注意:使用首先生成种类型的标签,分别是ctags,cscope和lookupfile插件需要用到的标签。

  ③.生成ctags标签(请参照下一种方法来生成tags并设置

  ④ctags -R trafficserver-..

  ⑤将在trafficserver-..同级目录生成一个名为tags的文件

  ⑥现在进入vim环境,输入以下命令

  ⑦:cd ~/program_dev/trafficserver-.. “切换到当前源码目录

  ⑧:set tags=~/program_dev/tags ”设置tags选项为当前目录下的tags文件

  ⑨注意这里设置tags需要明确写出绝对路径,否则将会导致很多函数找不到。tags文件是个纯文本文件,你可以使用vim打开它看一下。

  ⑩另外,根据.vimrc中的配置,使用下面的快捷键来分别生成tags文件和cscope文件

  Ⅰcd trafficserver-..

  Ⅱfind ‘pwd’ -name “*.cpp” -o -name “*.” -o -name “*.c” -o -name “*.h” 》 cscope.files

  Ⅲcscope -bqk -i cscope.files

  Ⅳctags和cscope会自动区分和处理各自的索引。

  Ⅴ这里注意使用cscope的方法,cscope在生成索引文件时,只搜索c,lex和ya的文件(后缀名为.c,.h,.l,.y,要生成c++的文件索引,就得使用上面的方法,先产生一个文件列表cscope.files,然后让cscope为这个列表中的每个文件都生成索引。

  Ⅵ将上述内容写成一个脚本make_cscope_ctags_index.sh,其内容如下:

  Ⅶ#!/bin/bash

  Ⅷfind 。 -name “*.h” -o -name “*.c” -o -name “*.” 》 cscope.files

  Ⅸcscope -bkq -i cscope.files

  Ⅹctags -R

  ㈠保存在~/.vim/中,现在将其复制到trafficserver-..下面,并运行下面的命令

  ㈡/bin/bash make_cscope_ctags_index.sh

  ㈢命令在trafficserver-..下面生成如下文件

  ㈣cscope.files

  ㈤cscope.in.out

  ㈥cscope.out

  ㈦cscope.po.out