Cygwin+vim+cscope+ctags+taglist打造个性IDE开发环境


小记:一直以来熟悉了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. 设置语法高亮,搜索结果高亮,行号。

               setnumber         #设置行号
               sethlsearch       #设置搜索高亮
               setfileencoding=utf-8
               setfileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
               settabstop=4      #设置Tab键
               setshiftwidth=4
               syntaxenable      #语法高亮
               setnocompatible
               setbackspace=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

上面的这个三个文件是必须的。

简单步骤:

1. 把test_scop放到相应的源代码的根目录下
2. 把.vimrc放到这个目录下/home/jeffrey,其实它就是 cd ~
3. 执行test_scop

基本操作:
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: 打开文件搜索功能


跳转相关的其它命令:

1. 当有多个同名方法时,跳转到其它符合条件的tag去:
      (ex command) :tnext
     或者 (ex command) :tn
重复使用这个命令可以发现其余的同名tag。

2. 如果实在太多,还可以用下面的命令从中直接选取一个:
      (ex command) :tselect tagname
      或者 (ex command) :ts
Vim会提供给你一个选择列表,例如

3. 分隔窗口。假设你不仅要查看新的函数定义,还要同时保留当前的上下文,可以用下面的命令
:stag tagname

.:tj x   (可以看做上面#3、 #2两个命令的合并,如果只找到一个符号定义,那么直接跳转到符号定义处,如果有多个,则让用户自行选择)

4. 看你当前的跳转历史记录
:tags



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代码检查:

vim的python代码检测工具

posted @ 2015-06-06 14:08  大海星  阅读(529)  评论(0编辑  收藏  举报