900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Ubuntu下创建Vim+Taglist+Cscope+Ctags组合编辑器

Ubuntu下创建Vim+Taglist+Cscope+Ctags组合编辑器

时间:2022-12-15 16:13:35

相关推荐

Ubuntu下创建Vim+Taglist+Cscope+Ctags组合编辑器

ubuntu 中cscope的安装

Ubuntu给我们安装软件提供了很大的便利,比如说,安装vim,我们可以直接使用"sudo apt-get install vim"即可安装!

同样,cscope和ctags也可以使用相同方法安装,这是多么畅快淋漓啊!谢谢Ubuntu给我们用户如此便利!

另外可能需要cscope_maps.vim,下载地址为:/file/id_80368278446281791.htm

对于Taglist使用这个方法安装不了,我们需要先下载,然后安装完成:

首先上网下载Taglist插件,下载完成后解压,再将文件下的taglist.vim使用cp命令拷贝到HOME/.vim/plugin文件夹下(cp -r taglist.vim ~/.vim/plugin)

这样,vim+Taglist+cscope+ctags四种工具我们是创建好了,但是如何使用呢?

vim是一个非常好用的编辑工具,以下介绍几个常用的底行模式命令:

(1). 设置缩进

:set smartindent // 设置缩进

:set smartindent shiftwidth=4 // C语言自动缩进,缩进值为4个字符宽度

(2). 显示光标行列信息

:set ruler// 显示光标信息(右下角)

(3). 查看制表符

:set list // 显示制表符,以^符号显示制表符的位置

(4). 查看行数信息

:set number //显示行号(左边)

(5). 关键字高亮

:syntax on //关键字高亮

(6). 多文件编辑 ,在编写程序时有可能需要同时编辑多个文件,在这种情况下,需要如下设置

: split two.c// 多文件编辑

当然,如果不嫌麻烦,可以在每次打开Vim时 输入如上命令,如我经常用的是:set number :set ruler :syntax on :set smartindent 命令,如果将平时在底行模式下输入的命令直接写入配置文件,则以后使用Vim时不用再次输入这些命令。

首先,试着在Vi的底行模式下输入如下命令,如果不支持的话,去下载一个Vim的全版本,sudo apt-get install vim-full。

以下是修改配置文件的方法:

(1). 找到Vimrc文件。

(2) 查看文件的权限:

zhouyl@ubuntu:~$cd /etc/vim

zhouyl@ubuntu:/etc/vim$ls

vimrc vimrc~ vimrc.tiny

zhouyl@ubuntu:/etc/vim$ls -l vimrc

-rw-r--r-- 1 root root 3449 9月 11 17:30 vimrc

(3) 如果没有写权限的话,修改权限,使我们可以修改该配置文件

sudo chmod a+w vimrc

(4)根据个人需要将上诉命令写入配置文件

比如,我个人的设置是: syntax on , set ruler ,set number , set smartindent shiftwidth=4

下面贴上我的vimrc文件的配置信息:

显示行号 setnumber "检测文件的类型 filetypeon "记录历史的行数 sethistory=1000 "自动对齐 setautoindent setcindent "智能选择对齐方式 setsmartindent "tab为4个空格 settabstop=4 "当前行之间交错时使用4个空格 setshiftwidth=4 "设置匹配模式,输入做括号会出现右括号 setshowmatch "编辑时显示光标状态 setruler "快速匹配 setincsearch"修改文件自动备份 ifhas("vms") setnobackupelse setbackupendif"""""""""""""设置开启ctags""""""""""""" settags=/home/zhouyl/linux-3.4.7/tags;"在这设置ctags-R后生成的tags文件所在目录,下面有介绍,如果需要配置多个tags。只需如下再添加即可settags=/home/zhouyl/rap/libpcap-1.3.0/tags;setautochdir"""""""""""""""""Taglist设置""""""""""""""""" ""letTlist_Auto_Open=1letTlist_Ctags_Cmd='/usr/bin/ctags'letTlist_Show_One_File=1letTlist_Exit_OnlyWindow=1""""""""""""""""""""""cscope设置"""""""""""""""""" setcscopequickfix=s-,c-,d-,i-,t-,e-ifhas("cscope")setcsprg=/usr/bin/cscopesetcsto=1setcstsetnocsverb"addanydatabaseincurrentdirectory iffilereadable("cscope.out")csaddcscope.outendifsetcsverbendif

因为cscope将“ctrl+空格”作为映射键,但是这样会调出输入法,因此将~/.vim/plugin/cscope_maps.vim文件中的<C-@>替换为<F5>(或者是你没有映射过的你喜欢的快捷键)

进入C语言源代码目录,建立符号表:

mishuang@msh:~/linux/linux0.11/source-0.11> cscope -R

ctr-D退出后,当前目录会多一个文件cscope.out,这个文件比tags大多了。

使用指南

1)使用下面的命令直接进入main函数定义的地方,如果有多个的话,输入索引号,回车。

wsh@wsh:~/linux/linux0.11/source-0.11> vi -t main

2)将光标停留在一个函数或变量上,"ctrl+]",将直接跳转到定义该函数的地方。

3)将光标停留在一个函数或变量上,"ctrl+\"再输入s,这样就会出现所有调用、定义该函数的地方,输入索引号,回车即可。

4)将光标停留在一个函数或变量上,<F5>再输入s,这样就会出现所有调用、定义该函数的地方,输入索引号,回车后会以水平方式在另外一个窗口显示。

5)将光标停留在一个函数或变量上,<F5><F5>再输入s,这样就会出现所有调用、定义该函数的地方,输入索引号,回车后会以垂直方式在另外一个窗口显示。

6)ctrl+t回到原来跳转前的地方,连续按两下''可以再回去。

附:

vim分割窗口的操作

:split 水平(上下)分割窗口

:vsplit或者CTRL-W v 垂直(左右)分割窗口

:new 水平分割窗口,创建空文件

:vnew 垂直分割窗口,创建空文件

vim多窗口操作命令

:qall 退出所有窗口

:wall 保存所有窗口

:wqall或者:xall保存并退出所有窗口

:wqall!或者:xall!保存并退出所有窗口,如果有的文件只读,不需要先设置写权限

:qall! 强制退出所有窗口

CTRL-W W 在窗口间移动

CTRL-W O 关闭其他所有窗口

Ctrl+]:跳转到定义

Ctrl+o:返回

Ctrl+/ c:查看调用

Ctrl+/ s:查看所有引用

出现错误的解决方法如下:

配置vim插件遇到下面的错误

处理 /root/.vim/plugin/cscope_map.vim 时发生错误:

第 1 行:

E474: 无效的参数: fileformat=unix^M

第 2 行:

E492: 不是编辑器的命令: ^M

第 26 行:

E492: 不是编辑器的命令: ^M

第 27 行:

E492: 不是编辑器的命令: ^M

第 30 行:

E15: 无效的表达式: has("cscope")^M

第 166 行:

E171: 缺少 :endif

解决办法

插件内的回车符,使用了^M——这是windows系统下专用的'\r\n'中的'\r'

解决方法:

用vim打开该插件

:set ff=unix

:w

重启vim即可。

:set fileformat=unix

使用vim是出现了下面的错误

处理 /root/.vim/plugin/cscope_map.vim 时发生错误:

第 42 行:

E568: 重复的 cscope 数据库未被加入

解决办法:

.vimrc中加上

:set nocscopeverbose

原因是/etc/vimrc中已经将cscope.out读入,在plugin中也读了一遍,这样就有两遍

<C+\>c 表示:先按ctrl+\,松开然后按c

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。