ubuntu 中cscope的安装

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

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

另外可能需要cscope_maps.vim,下载地址为:http://www.kuaipan.cn/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文件的配置信息:

  1. 显示行号
  2. set number
  3. "检测文件的类型
  4. filetype on
  5. "记录历史的行数
  6. set history=1000
  7. "自动对齐
  8. set autoindent
  9. set cindent
  10. "智能选择对齐方式
  11. set smartindent
  12. "tab为4个空格
  13. set tabstop=4
  14. "当前行之间交错时使用4个空格
  15. set shiftwidth=4
  16. "设置匹配模式,输入做括号会出现右括号
  17. set showmatch
  18. "编辑时显示光标状态
  19. set ruler
  20. "快速匹配
  21. set incsearch
  22. "修改文件自动备份
  23. if has("vms")
  24. set nobackup
  25. else
  26. set backup
  27. endif
  28. """""""""""""设置开启ctags"""""""""""""
  29. set tags=/home/zhouyl/linux-3.4.7/tags;"在这设置ctags -R 后生成的tags文件所在目录,下面有介绍,如果需要配置多个tags。只需如下再添加即可
  30. set tags=/home/zhouyl/rap/libpcap-1.3.0/tags;
  31. set autochdir
  32. """""""""""""""""Taglist设置"""""""""""""""""
  33. ""let Tlist_Auto_Open = 1
  34. let Tlist_Ctags_Cmd = '/usr/bin/ctags'
  35. let Tlist_Show_One_File = 1
  36. let Tlist_Exit_OnlyWindow = 1
  37. """"""""""""""""""""""cscope设置""""""""""""""""""
  38. set cscopequickfix=s-,c-,d-,i-,t-,e-
  39. if has("cscope")
  40. set csprg=/usr/bin/cscope
  41. set csto=1
  42. set cst
  43. set nocsverb
  44. " add any database in current directory
  45. if filereadable("cscope.out")
  46. cs add cscope.out
  47. endif
  48. set csverb
  49. endif


因为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

Ubuntu下创建Vim+Taglist+Cscope+Ctags组合编辑器相关推荐

  1. ubuntu ctags php,Ubuntu下创建vim+Taglist+cscope+ctags组合编辑器

    有人抱怨Linux系统下没有类似于VC之类的方便快捷的编辑器,有人用gedit, 有人用vim,但是都不方便而且也没有自动补全之类的方便用户的功能.本文简单介绍使用vim中的几个插件(Ctags.Cs ...

  2. ubuntu下创建管理员权限的账户

    ubuntu下创建管理员权限的账户 现在假设我要创建一个名为"lcj"的账户. 1. 添加用户名,执行sudo adduser lcj命令 sudo adduser lcj 2. ...

  3. ubuntu 下安装 VIM 依赖vim-common错误

    ubuntu 下安装 VIM 依赖vim-common错误 sudo apt-get remove vim-common   先把上面的错误依赖删除 sudo apt-get install vim  ...

  4. 在Ubuntu下创建hadoop组和hadoop用户

    一.在Ubuntu下创建hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户. 1.创建hadoop用户组 2.创 ...

  5. ubuntu下创建定时任务的两种方式及常见问题解决方案

    ubuntu下创建定时任务的两种方式及常见问题解决方案 参考文章: (1)ubuntu下创建定时任务的两种方式及常见问题解决方案 (2)https://www.cnblogs.com/maboii/p ...

  6. Ubuntu下创建Android Studio启动图标

    Ubuntu下创建Android Studio启动图标 问题 解决方法1 解决方法2 脚本 问题 Linux发行版的Android Studio没有启动图标 解决方法1 第一次通过终端启动bin/st ...

  7. ubuntu下创建c语言程序之hello world

    将要学习c语言了,先记录一下在ubuntu下,使用vim创建一个最基本的hello world程序: 打开终端,使用cd命令转到操作的目录,如我在home下的program files文件内创建, 就 ...

  8. ubuntu下安装vim失败

    近日在ubuntu-16.04-desktop下安装vim时遇到如下问题: garfield@ubuntu:~$ sudapt-get install vimst Reading package li ...

  9. ubuntu 下创建加密文件夹

    虚拟机安装ubuntu及创建加密文件夹 软件路径: VMware: \\bit-fil01\t\Dev\VMware-workstation-full-11.0.0-2305329_13808_BDd ...

最新文章

  1. Excel和PPT已经落后了,可视化大屏强在哪?一次看过瘾
  2. TLB的作用及工作原理,如何查看TLB miss?
  3. linux充当防火墙,Linux下主机充当防火墙的巧妙应用之iptables
  4. android studio 找不到reosurce,EF 6 Bridge Table Insert Not Working
  5. android 命令pm 全称 packagemanager,Android.content.pm.PackageManager--(转载)
  6. 计算机怎么没有word文档,电脑新建没有word文档怎么办 没有Word解决方法
  7. 美国心脏协会:六种心血管疾病的症状区别
  8. 【观察】走进乌兰察布,揭秘UCloud优刻得首个自建自营云计算中心
  9. 设置swiper中的高度
  10. vue中播放flv流视频
  11. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(图像处理)
  12. 获取ModelMap里的对象
  13. 分享Android资深架构师的成长之路,建议收藏
  14. 百度翻译用户群体及部分功能分析
  15. Windows用户的分类
  16. “别具一格”的vue双向数据绑定原理
  17. 【爬虫】Python3搜索并获取电影网站的迅雷下载链接
  18. 用cobar搭建分布式数据库
  19. 爬去豆瓣IP被封,用IP代理解决
  20. Savieo 万能下载器,下载多达34 站点,包括ins、Facebook

热门文章

  1. python选择排序从大到小_经典排序算法和Python详解之(一)选择排序和二元选择排序...
  2. aptitude安装出现依赖_oeasy 教您玩转linux 之 010210 应用管理 aptitude
  3. 遨博机器人执行线程_智造洞察 | 遨博机器人推出国内首条“用机器人生产机器人”产线;服务机器人等助力8月经济回升;浙江企业研发飞机发动机榫槽数控拉床...
  4. php提交raw_PHP中如何POST提交raw数据?
  5. python常考题_Python语言基础考察点:python语言基础常见考题(一)
  6. ctrl键一直自动按住了_用好Ctrl键,年薪一两万
  7. weblogic 用的人还多吗_2020年劳务工越来越多,出现这种“怪现状”,是发展的需求吗?...
  8. 深入理解javascript原型和闭包(5)——instanceof
  9. 安利!阿里程序员常用的 15 款开发者工具
  10. 又到 6 月底,想来和你聊一聊毕业季,愿你前程似锦!