小记:一直以来熟悉了linux下vim+cscope+ctags+taglist来进行的代码的阅读,但是由于工作的需要,无法在linux下工作,但是实在是不习惯windows下面的代码阅读工具。
曾经试图努力去使用source insigt和gvim, 不过最终都不是很理相。
再一个让我放弃source insight 和gvim的原因,是因为下班在家做开项目的时候,一直都是用linux,反复在winodws下和linux切换实在太麻烦。公司里倒是也提供了cscope的在服务器上看code, 不过上面并没法使用ctags,这导致在不同的代码间的跳转成为了奢望,无奈之下,出此下策,决定在windows下打造一个linux环境中的代码阅读。当然啦,如果你的机器足够牛逼,你也可以选择使用VM。
开始之前先上张图让大家欣赏一下:
废话不多说~~~~~
一、准备工作
- 1. 安装cygwin。安装步骤就不多说了,放狗搜会有好多好多。不过在这里我想强调的一点就是,以下常用软件在cygwin中最好勾选上:
a. vim
b. python
c. cscope
d. git
e. ctags
- 2. 设置语法高亮,搜索结果高亮,行号。
set
number #设置行号
set
hlsearch #设置搜索高亮
set
fileencoding=utf-8
set
fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set
tabstop=4 #设置Tab键
set
shiftwidth=4
syntax
enable #语法高亮
set
nocompatible
set
backspace=indent,eol,start
- 3. 配置taglist
Taglist是以tags文件为基础,需要ctags生成tags文件。
安装ctags,Redhat和CentOS可以执行yum install ctags,Debian和Ubantu可以执行apt-get install ctags
下载Taglist,地址是http://sourceforge.net/projects/vim-taglist/files/vim-taglist/
解压taglist_45.zip,可以看到有两个目录doc和plugin,结构如下
taglist_45 | |-------- doc | -------- taglist.txt | -------- plugin -------- taglist.vim
执行下列shell命令,即安装完成
cp doc/taglist.txt /usr/share/vim/vim72/doc/
cp plugin/taglist.vim /usr/share/vim/vim72/plugin/
Taglist的打开命令:TlistOpen
窗口间的切换:ctrl+ww
可能会遇到的问题:
1. 如果用cscope无法语法高亮。 可是能因为cscope默认调用了vi而不是vim,但是vi是没有高亮功能的。解决办法:在.bashrc中加入:export CSCOPE_EIDTOR=vim。
最后献上我的.vimrc, .bashrc文件以及test_scop文件
.bashrc:
http://download.csdn.net/detail/gzhouc/8778913
.vimrc:
http://download.csdn.net/detail/gzhouc/8778927
或者上面的三个更新版
http://pan.baidu.com/s/1pLkthgv
test_scop:
http://download.csdn.net/detail/gzhouc/8778951
如果你不想麻烦,你可以按照下面简单方法进行:如果cscope打开的文件没有高亮,可以运行:export CSCOPE_EDITOR=vim
上面的这个三个文件是必须的。
简单步骤:
2. 把.vimrc放到这个目录下/home/jeffrey,其实它就是 cd ~
1. 进入源代码的根目录,执行 c,就可以启动cscope
2. 出现搜索结果后可以通过空格或是+来向后翻页,-可以实现回翻页
3. Tab可以重新搜索, Ctrl+D可以退出cscope
4, 在打开发的vi中输入 :TlistOpen可以打开taglist, Ctrl+w可以在list窗口和文件窗口间来回切换。
5. %可以在大括号间来回跳转
6. ]]可以在段间跳转
7. ctrl+] 跳转到定义处; ctrl+T退回前一个跳转的位置
8. 光标移动到单词的开始,*表示向后搜索这个单词,#表示向前搜索这个单词。
如果想全用NERDTree+ TagList这样的方案的话,可以直接下载下面的文件,并把解压出来的文件放到$HOME目录下面
http://pan.baidu.com/s/1qXI6KBq
http://pan.baidu.com/s/1hsDil6W(这个也可以,这个里面配置相对简单一些)
有图有真相
其中左边是NerdTree的效果,右面是Taglist的效果。
NerdTree:
i: 水平打开多个窗口
s:垂直打开多个窗口
Taglist:
o:水平打开多个窗口
p: 回到父目录
有关上图中的左边的那个NERDTree如何快速打开呢?可以在.vimrc中添加下面这条命令
nnoremap <F2> :exe 'NERDTreeToggle'<CR>
</pre><pre code_snippet_id="1701132" snippet_file_name="blog_20160529_1_9810116" name="code" class="python">open/close Taglist
nnoremap <F3> :exe 'TlistToggle' <CR>
设置modifiable
nnoremap <F4> :exe 'set ma'<CR>
特别推荐:
下面这个是相当不错的,取自己的同事,谢谢!
https://share.weiyun.com/265a80e75b1ef589e2dd739112b9089c
http://pan.baidu.com/s/1i4WD3Dz
首先确保已安装vim并且在.bashrc中的添加:alias vi='vim'
另外,可以选择对git进行配置一下
[root@controller test]# git config --list
user.name=Jeffrey Guan
user.mail=double12gzh@gmail.com
user.email=double12gzh@gmail.com
gitreview.username=double12gzh
gitreview.username=double12gzh
color.status=auto
color.diff=auto
color.branch=auto
color.interactive=auto
core.editor=vim
常用快捷键:
ctrl+]: 跳转到函数的实现(g+]可以跨目录,当有多个定义时会提示,并使用数字标示,输入数字后回车可跳转到相应定义处)
ctrl+T:跳回原来的位置
ctrl+P: 调用ctrlp的功能。打开功能后,可以用ctrl+x水平打开窗口; ctrl+v竖直打开; ctrl+t新打开一个标签页。(快捷键:F4:CtrlPMixed F5:刷新)
:tabn: 下一个tab.或者可以按逗号+句号
:tabp: 前一个tab。或者可以按逗号+逗号
i: 水平打开文件
s: 垂直打开文件
o: 直接打开文件
]]: 段间跳转,python中可以实现在不同的类间跳转
F2:打开NerdTree
F3: 打开tagbar
F4: 打开文件搜索功能
跳转相关的其它命令:
5. 回到上次浏览的位置(注意是要在normal模式下)
ctrl + o (后退)
ctrl + i (前进)
6. [+I Display all lines that contain the keyword under the cursor. Filenames and line numbers are displayed for the found lines. The search starts at the beginning of the file.
]+I like "[+I", but start at the current cursor position.
还是上图吧:
另外,这里还有一个比较牛逼的配置方案,可以参考一下:
https://github.com/double12gzh/vim/blob/master/setup.sh
设置vim代码检查: