Linux下编译cscope,Ubuntu下代码查看小妙招-vim ctags cscope的简单用法

是不是刚安装上Ubuntu发现vim没有语法高亮显示、而别人的是头文件、变量……都有特定的颜色表示而郁闷。是不是常常为编译器提示某某某头文件找不到和忘记了某个函数的原型而去翻砖头那么厚的书而烦恼,呵呵,这些都是小问题。这里介绍一些小方法解决这些问题。

首先解决不能显示语法高亮的问题:

可能你也知道去掉/etc/vim/vimrc文件中的“"syntax on “前面的双引号就能开启语法高亮,可是开了这个选项后,打开vim会有一些莫名的提示,这些都不要经我们升级一下vim就OK了升级方法可以是:

1、在终端下输入:sudo apt-get install vim

2、下载下列软件包安装即可:

vim、vim-common、vim-runtime、vim-tiny

我现在用的版本7.1的

升级后在看看,发现vim不一样了吧。是不是感觉眼前一亮!vim的使用很简单,但是要用好了很不简单,这个需要自己慢慢的摸索。

下面我们介绍集中查看头文件,库函数的方法:

1、最简单的方法是安装对应库的man手册,直接在终端man xxx(函数)如 man printf 就会看到pringf相关的信息,这种方法简单而且显示的信息很多,前提是你的英文必须过关!这种方法不是这里的重点。

安装一个最基本的文档sudo apt-get install manpages-dev

2、这种方法可以让你更了解头文件或内核源码的结构

(1)首先安装一个工具Ctags:sudo apt-get install Ctags

让后我们进入/usr/include或你的内核目录进行如下操作:ctags -R *,这会在当前目录下递归的为各个子目录生成一个名为tags标签文件,这个操作在第一次执行后即可。

现在在我们执行vim -t printf我们会看到我们进入了vim的编辑界面同时也到了printf声明的地方。或直接进入vim编辑界面输入:tag  按TAB键可以进行模式匹配,继续安TAB匹配下一个。

可是这样查到的东西可能不是你想要的那一个,怎么解决这个问题呢?

(2)解决上面问题需要安装一个工具cscope:sudo apt-get install cscope

上面几个工具单独用功能不是很大,可是结合起来功能就非常强大了。我这里有一个自己用的vim脚本,是拷的别人的功能不是很多但是已经够用了。

在用户目录下新建一个.vimrc文件将下面内容添加到文件中:

set mouse=a

let Tlist_Use_Right_Window=1

let Tlist_File_Fold_Auto_Close=1

map :TlistToggle

noremap :make

noremap :make clean;make

noremap :Tlist

noremap :TlistSync

noremap :!./vitags.sh:cs reset

noremap :!cvs up

nnoremap @=((foldclosed(line('.')) < 0)       'zc' : 'zo')

if has("multi_byte")

set encoding=utf-8

set fileencoding=chinese

set fileencodings=ucs-bom,utf-8,chinese

endif

set wrap

set hlsearch

filetype plugin on

colorscheme elflord

syntax on

set nocp

filetype plugin on

filetype indent on

if has("cscope")

set csprg=/usr/bin/cscope

set csto=0

set cst

set nocsverb

" add any database in current directory

if filereadable("cscope.out")

cs add cscope.out

" else add database pointed to by environment

elseif $CSCOPE_DB != ""

cs add $CSCOPE_DB

endif

set csverb

set cscopetag

endif

set nu

set ts=4

set sw=4

set ru

set hls

set is

set sm

set cin

set cino=:0g0t0(sus

set autoread      " read open files again when changed outside Vim

set incsearch      " use incremental search

set nowrap       " do not wrap lines

set nobackup

set nowritebackup

map :!ctags -R --c-kinds=+p --fields=+iaS --extra=+q .

map :!ctags -R .

现在再试试vim -t ,这时如果有多个选项的话就会出现一个列表让你选择你需要的那个。

一个好用的工具可以让你的工作效率大大提高,这里只是介绍了一点点,希望大家补充,纠正错误。

你可能感兴趣的:(Linux下编译cscope)