使用 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. Android 开发笔记 “Android 的消息队列模型”

    Android是参考Windows的消息循环机制来实现Android自身的消息循环的. Android通过Looper.Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都 ...

  2. Oracle 传参错误

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

  3. java读写

    IO流下分为字节流与字符流,每个流又分为输入输出以及读写. 字节流的两个基类为InputStream与OutputStream. 字符流为Reader和Writer

  4. Week14(12月11日):路由

    Part I:提问 =========================== 1.Visual Studio 2013自带ASP.NET MVC最高版本为(). A.3  B.4  C.5  D.6 2 ...

  5. Controller.RedirectToAction 方法

    此成员被重载.有关此成员的完整信息,包括语法.用法和示例,请单击重载列表中的名称.

  6. 安装ADT 提示 android ADT Unable to connect to repository

    以往安装ADT根本就不是个问题,可是现在就是个大问题了,联通的宽带网络连www.google.com.hk都打不开,你叫我们这些P民怎么活? https://dl-ssl.google.com/and ...

  7. QT学习 之 文本文件读写

    上一章我们介绍了有关二进制文件的读写.二进制文件比较小巧,却不是人可读的格式.而文本文件是一种人可读的文件.为了操作这种文件,我们需要使用QTextStream类.QTextStream和QDataS ...

  8. c++, 派生类的构造函数和析构函数 , [ 以及operator=不能被继承 or Not的探讨]

    说明:文章中关于operator=实现的示例,从语法上是对的,但逻辑和习惯上都是错误的. 参见另一篇专门探究operator=的文章:<c++,operator=>http://www.c ...

  9. python读取EXCLE文件数据

    python读取EXCEL,利用 Google 搜索 Python Excel,点击第一条结果http://www.python-excel.org/ ,能够跨平台处理 Excel. 按照文档一步步去 ...

  10. docker学习笔记12:Dockerfile 指令 ENTRYPOINT介绍

    本文介绍Dockerfile的 ENTRYPOINT指令的含义. 先回顾下CMD指令的含义,CMD指令可以指定容器启动时要执行的命令,但它可以被docker run命令的参数覆盖掉. ENTRYPOI ...