使用 vim + ctags + cscope + taglist 阅读源码  http://my.oschina.net/u/554995/blog/59927

vim tab变空格 http://www.cnblogs.com/hydah/archive/2012/04/10/2440225.html

下载安装vim
  yum search vim
  yum install vim-enhanced.x86_64

ctags 插件
    yum -y  install ctags
   
taglist插件
    wget http://jaist.dl.sourceforge.net/project/vim-taglist/vim-taglist/4.6/taglist_46.zip
    unzip taglist_46.zip;
    mkdir -p ~/.vim/plugin ; cp -r plugin/taglist.vim  ~/.vim/plugin;  
    mkdir -p  ~/.vim/doc ;  cp -r doc/taglist.txt  ~/.vim/doc;
    
cscope插件
    yum -y install cscope
   
修改vim配置文件: vi  ~/.vimrc

"       vim
let &termencoding=&encoding
set encoding=utf- fileencodings=ucs-bom,utf-,cp936
filetype plugin indent on
:set nonu
set laststatus= "总是在最后一行显示当前编辑的文件名 " ctags
set tags=tags;
"set autochdir " cscope
if filereadable("cscope.out")
cs add cscope.out
endif if has("cscope")
set cscopetag " 使支持用 Ctrl+] 和 Ctrl+t 快捷键在代码间跳来跳去
" check cscope for definition of a symbol before checking ctags:
" set to 1 if you want the reverse search order.
set csto= " add any cscope database in current directory
if filereadable("cscope.out")
cs add cscope.out
" else add the database pointed to by environment variable
elseif $CSCOPE_DB !=""
cs add $CSCOPE_DB
endif " show msg when any other cscope db added
set cscopeverbose nmap <C-/>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-/>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-/>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-/>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-/>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-/>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-/>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-/>d :cs find d <C-R>=expand("<cword>")<CR><CR>
endif " taglist
" 按F8按钮,在窗口的左侧出现taglist的窗口,像vc的左侧的workpace
nnoremap <silent> <F8> :TlistToggle<CR><CR>
" :Tlist 调用TagList
let Tlist_Show_One_File= " 只显示当前文件的tags
let Tlist_Exit_OnlyWindow= " 如果Taglist窗口是最后一个窗口则退出Vim
let Tlist_Use_Right_Window= " 在右侧窗口中显示
let Tlist_File_Fold_Auto_Close= " 自动折叠

====================================================================================================================

关于vim显示行号,有时候需要行号,有时候特别是需要复制的时候又太碍眼:

set nu 或者 set number //显示行号;

set nonu 或者 set nonumber //关闭自动显示行号;

set ic //查找时忽略大小写;

set noic //查找时不忽略大小写。

使用taglist

使用“ctrl w w”将光标调到taglist的窗口里

linux下阅读源代码的工具http://blog.csdn.net/nancygreen/article/details/5755190

常用命令列表:

        .  $ ctags –R *      ($ 为Linux系统Shell提示符)

        .  $ vi –t tag         (请把tag替换为您欲查找的变量或函数名)

        . :ts                                (ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令)
. :tp (tp 助记字:tags preview)
. :tn (tn 助记字:tags next)
. Ctrl + ]
. Ctrl + T
把光标移到变量名或函数名上,然后按下“Ctrl+]”,这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。用“Ctrl+t”可以退回原来的地方。即使用户使用了N次“Ctrl+]”查找了N个变量,按N次“Ctrl+t”也能回到最初打开的文件,它会按原路返回 。 注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:settags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。 在完成编码时,可以手工删掉tags文件(帚把不到,灰尘不会自己跑掉^_^)。

====================================================================================================================

CentOS下安装VIM    http://www.centoscn.com/image-text/install/2014/0830/3612.html

几个命令:

yum search vim
which vim
yum install vim-enhanced

可能有用的操作:

下载 xclip :{
        1. How To Fetch Red Hat
Enterprise Linux / CentOS Linux Enable EPEL (Extra Packages for
Enterprise Linux) Repository 
http://www.cyberciti.biz/faq/rhel-fedora-centos-linux-enable-epel-repo/
            yum install epel-release.noarch
            
        2. yum -y install xclip
    }
    
 下载安装astyle:
    tar -zxvf astyle_2.05.1_linux.tar.gz
    cd astyle/build/gcc/ && make
    make install
    # astyle -V
        Artistic Style Version 2.05.1

vim: 搭建vim看代码的环境的更多相关文章

  1. 用ubuntu里的vim搭建一个apache2+php+mysql环境一路踩的坑

    先是安装apache2,这个很顺利,一个apt install apache就搞定了. (PS:查看linux是否已经安装了apache服务,可以通过执行apachectl -v,如果安装了的话会显示 ...

  2. 在本地环境用虚拟机win2008 sever搭建VS2013 + SVN 代码版本控制环境

    此文仅仅是自己笔记做个备忘.因为自己开发一些中小型的软件经常需要修修改改,特别是winform界面的大改动.经常需要对版本进行管理.而租用分布式服务器和远程服务器都不是自己想要的.本文结合虚拟机 + ...

  3. calltree看代码调用图

    calltree是在linux下面看c代码(尤其是复杂的内核代码)的神器. 推荐  calltree+vim + ctags + cscope + taglist [ vim: 搭建vim看代码的环境 ...

  4. Golang开发环境搭建-Vim篇

    一.一个干净的环境 找个干净的基础环境,方便确认每个搭建步骤后的效果: Ubuntu 14.04 x86_64 vim version 7.4.52 go version go1.4beta1 lin ...

  5. 使用 Vim 搭建 JavaScript 开发环境

    原文链接: https://spacevim.org/cn/use-vim-as-a-javascript-ide/ SpaceVim 是一个模块化的 Vim IDE,针对 JavaScript 这一 ...

  6. 使用 Vim 搭建 C/C++ 开发环境

    原文链接: https://spacevim.org/cn/use-vim-as-a-c-cpp-ide/ SpaceVim 是一个模块化的 Vim IDE,针对 C/C++ 语言的支持主要依靠 la ...

  7. 使用 Vim 搭建 Python 开发环境

    原文链接: https://spacevim.org/cn/use-vim-as-a-python-ide/ SpaceVim 是一个模块化的 Vim IDE,针对 Python 这一语言的支持主要依 ...

  8. java 基础(四)搭建vim作为java开发环境

    分享在Ubuntu 14.04在Vim上配置Java开发环境的过程步骤,希望对大家有所帮助. A 首先下载javacomplete.zip 到Linux公社资源站下载: --------------- ...

  9. Linux+环境使用vim搭建php+IDE

    让我们开始DIY吧-!!终端下执行命令:whereis vim     将列出vim安装的路径. 否则执行 sudo apt-get install vim 安装vim .成功安装了vim,只需要在用 ...

随机推荐

  1. json所需jar包 & js解析后台json数据

    Json 所需jar包: var listxxx='<%=request.getAttribute("listxxx")%>';  // list数组 var mapx ...

  2. Oracle 传参错误

    错误:ORA-01008: 并非所有变量都已绑定 报错的SQL:UPDATE RES_AUTHORITY SET                                  F_APPLYER= ...

  3. 复制virtualenv环境到其他服务器环境配置的方法

    要在n多服务器端部署python的应用,虽然python本身是跨平台的,当时好多第三方的扩展却不一定都能做到各个版本兼容,即便是都是linux,在redhat系列和ubuntu系列之间来回导也是个很让 ...

  4. ELK架构浅析

    转自:http://blog.csdn.net/lively1982/article/details/50678657 ELK是Elasticsearch.Logstash.Kibana的简称,这三者 ...

  5. MongoDB入门(1)--安装配置

    第一步:下载安装 首先当然是找到官方网站http://www.mongodb.org/ 进入下载页面 可以看到,当前最新版本是2.4.5,我的电脑是64位的win7,所以要下载第一个(说明一下,第二个 ...

  6. Linux的起源、特点和版本号

    前言 最近上陈渝老师的<高级操作系统>,需要在ucore实验平台上完成一个麻雀虽小五脏俱全的OS,本着看过一小半<30天自制操作系统>的自信,以为这不过是小case,怎料被虐得 ...

  7. QT学习 之 对话框 (四) 字体对话框、消息对话框、文件对话框、进程对话框(超详细中文注释)

    QMessageBox类: 含有Question消息框.Information消息框.Warning消息框和Critical消息框等 通常有两种方式可以来创建标准消息对话框: 一种是采用“基于属性”的 ...

  8. service and intentservice

    Service是Android中四大组件之一,在Android开发中起到非常重要的作用,先来看一下官方对Service的定义: A Service is an application componen ...

  9. bash: ./configure: 权限不够

    linux下运行一个文件时 提示权限不够,说明这个文件没有可执行权限 我们可以在属性里面手动为这个文件加上可执行权限也可以使用命令的方式 命令方式: 例如:   bash: ./configure: ...

  10. c++特殊函数

    C++中NULL不能写作小写,NULL的值为零,也可以写作0 在自己写的复制构造函数中不改变原对象,所以传进来的参数可以设为const类型的,这样可以保证传进来的对象不被改变 比如A(const A ...