网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

代码查看小妙招--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 <F4> :TlistToggle<CR>

    noremap <F6> :make<CR>

    noremap <S-F6> :make clean;make<CR>

    noremap <F7> :Tlist<CR>

    noremap <S-F7> :TlistSync<CR>

    noremap <F3> :!./vitags.sh<CR>:cs reset<CR>

    noremap <S-F3> :!cvs up<CR>

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

    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 <C-F12> :!ctags -R --c-kinds=+p --fields=+iaS --extra=+q .<CR>

    map <C-F11> :!ctags -R .<CR>

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

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

热门搜索:B40-8000-PCB 4SPDX 2858043 PM6NS EURO-4 TRAVELER3USB 6SPDX SS3612 BT05-F250H-03 2838254 01M1001JF 2818135 TLM609NS 02T1001JF 2882828 LCR2400 N060-002 01C1001JF ADC128S102CIMTX 2986122 2320296 PS-415-HG TLM615SA RBC11A PS2408RA
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质