vim: 搭建vim看代码的环境

时间:2022-03-17 02:44:58

使用 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