将vim打造成强大的python和c的ide

时间:2024-04-02 10:43:32

在用C语言和Python编程的时候,vim是个很不错的选择,下面我们试着去将vim打造成强大的ide

 

下载安装Python

Vim的网站下载vim,建议下Self-installing executable的版本。

安装后把gvim.exe加入到path中

编辑vim的配置文件_vimrc

拷贝vimrc_example里面的东东到_vimrc

去掉_vimrc里面的source $VIMRUNTIME/vimrc_example.vim

 设置窗口大小:

winpos 235 235
set lines=25 columns=108 
colo peachpuff 
set autoindent 

设置中文支持

" 设置编码自动识别, 中文引号显示  
"set fileencodings=utf-8,cp936,big5,euc-jp,euc-kr,latin1,ucs-bom  
set fileencodings=utf-8,gbk  
set ambiwidth=double 

 

设置字体,如果有空格用_代替:

set guifont=YaHei_Consolas_Hybrid:h12

 

设置ColorScheme,我选择的是elflord,你可以在GVim的Edit-->Color Scheme看到其他的Color Scheme。

"ColorScheme
colorscheme elflord

 

设置tab插入空格,缩进,删除键删除缩进,页面文字宽度

" 允许退格键删除和tab操作  
set smartindent
set smarttab
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set backspace=2
set textwidth=79

 

启用鼠标,启用行号

" 启用鼠标  
set mouse=a 
" 启用行号 
set nu

 

====================neocomplcache=============================

 neocomplcache实现代码补全

安装neocomplcache插件

    下载地址:http://www.vim.org/scripts/script.php?script_id=2620 (在search里输入neocomplcache,找那个最新的版本下载就行)。

    将解压后的全部文件拷贝到$VIM/vimfile里

然后在vimrc文件中加入:

let g:neocomplcache_enable_at_startup=1

 

===============Ctags===========================

下面我们需要分析源代码的工具Ctags,从网站下载For Windows版本的Ctags,将其解压打某个目录,然后解压缩后拷贝ctags.exe到某处,确保windows的path包含这个目录。

 

打开源代码文件,点击GVim上的buildtags按钮。或者在控制台中到你放源码的目录手动执行ctags -R命令。我们可以发现在当前目录下生成了tags文件。这个就是我们需要的。我们可以在方法上按Crtl+],Vim会帮你找到方法定义的地方。

 

==================TagList==========================

下面我们需要使用这个文件查看源代码。我们需要用到另外一个插件TagList,配合Ctags可以高效的查看源代码。下载TagList解压缩后是doc和plugin和两个目录,把这两个目录拷贝到你的Vim安装目录(我的路径是C:\Vim\vim74),覆盖原目录(不用担心这样覆盖不会影响已存在的东西),修改_vimrc如下

 

"TagList

let Tlist_Show_One_File=1

let Tlist_Exit_OnlyWindow=1

我们需要制定tags目录给Vim,在Vim中执行命令:set tags=你的代码所在的路径\tags,如果你一直使用同一个代码路径可以把他写死在_vimrc中,例如我的代码在

D:\work\core-python配置如下

"tags
set tags=D:\work\projects\core-python

 

然后在Vim中执行:Tlist就可以打开TagList的窗口了,如下图左边的窗口,试着在方法上点击,可以发现右侧的光标会自动跳到你点中的方法。

 
将vim打造成强大的python和c的ide
 

 

===========================NERDTree================================

接下来是NERDTree项目文件导航

安装NERDTree插件

先下载,官网:http://www.vim.org/scripts/script.php?script_id=1658

解压缩之后,把 plugin/NERD_tree.vim 和doc/NERD_tree.txt分别拷贝到~/.vim/plugin 和 ~/.vim/doc 目录。

 

使用

1、在linux命令行界面,输入vim

2、输入  :NERDTree ,回车

3、进入当前目录的树形界面,通过小键盘上下键,能移动选中的目录或文件

4、目录前面有+号,摁Enter会展开目录,文件前面是-号,摁Enter会在右侧窗口展现该文件的内容,并光标的焦点focus右侧。

5、ctr+w+h  光标focus左侧树形目录,ctrl+w+l 光标focus右侧文件显示窗口。多次摁 ctrl+w,光标自动在左右侧窗口切换

6、光标focus左侧树形窗口,摁? 弹出NERDTree的帮助,再次摁?关闭帮助显示

7、输入:q回车,关闭光标所在窗口

 

进阶用法

   o 打开关闭文件或者目录

   t 在标签页中打开

  T 在后台标签页中打开

  ! 执行此文件

  p 到上层目录

  P 到根目录

  K 到第一个节点

  J 到最后一个节点

  u 打开上层目录

  m 显示文件系统菜单(添加、删除、移动操作)

 ? 帮助

 q 关闭

 
将vim打造成强大的python和c的ide
 

 

=================================Cscope==========================

 启用Cscope ,更高级的分析源代码,支持反向查找

下载并安装Cscope for Windows版本,最新的二进制编译版本可以从这里下载: 

http://sourceforge.net/projects/mslk/files/Cscope/

下载、解压后将cscope.exe放到与vim.exe同一目录下即可。

下载cscope_maps.vim,放到Vim的plugin目录。

修改_vimrc,让查找结果显示在quickfix窗口而不是主窗口。

"cscope show in quickfix
set cscopequickfix=s-,c-,d-,i-,t-,e-

 

生成索引數據庫文件。默認情況下cscope只認識c文件,為了保證我可愛的python使用,需要自己生成files文件來告訴cscope。 windows下沒有好用的find命令,所以自己寫個,代碼如下: 

 '''生成cscope.files並生成out文件'''

__revision__ = '0.1'
__author__ = 'lxd'

PATH= r'C:\Users\lxd\Desktop\register'
FILE_TYPE_LIST= ['py']

if __name__ == '__main__':
    import os
    f = open('cscope.files','w')
    for root,dirs,files in os.walk(PATH):
        for file in files:
            for file_type in FILE_TYPE_LIST:
                if file.split('.')[-1] == file_type:
                    f.write('%s\n' %os.path.join(root,file))
    f.close()
    cmd = 'cscope -bk'
    os.system(cmd) 

 

使用時需要將這個文件放到項目目錄下,然後更改PATH路徑,程序會自動生成cscope.files文件和cscope.out文件,其中cscope.out就是要使用的索引了。 

5.打開vim,

 :cscope add cscope.out 

 

好了,配置完成,下面我们看看怎么用。在vim中输入:help if_cscop.txt可以看到关于Cscope的帮助。

看完文档,我们可以在vim中输入命令:cs find c foo用来查找foo方法在哪里被调用过。

cscope_maps.vim映射了一些键盘的快捷键,我们可以快捷的使用查找功能。

我比较喜欢使用Ctrl+\,让光标停留在你想查找的内容,然后输入Ctrl+\后迅速的输入c,就可以在quickfix窗体看到查找的结果。如果结果有多条你可以输入命令:cw展开quickfix窗体。(这个快捷操作第一次使用可能会有些别扭,多试几遍就好了)

 

=====================Grep=====================

启用Grep,在工程中查找 

Grep是linux中命令,如果你不熟悉可以看Grep的文档。

下载安装Grep for windows

下载Vim的Grep插件,grep.vim放在plugin目录

配置_vimrc,设置F3为快捷键

"Grep
nnoremap <silent> <F3> :Grep<CR>

把光标放在你需要搜索的内容,按下F3,可以看到Search for pattern: xxx,按下回车,出现Search in files,输入*.py,只查找python的源代码文件,按下回车就可以看到搜索的结果了。

 

 

============================VimPdb========================

启用VimPdb,可以调试Python程序。

下载VimPdb,解压后拷贝VimPdb.py,VimPdb.vim到plugin即可。

用vim代开python代码文件,按F5运行,然后按F2设置断点,在运行到断点后可以用按F12可以查看Stack Trace,F3查看变量和参数值。

更高级的使用可以查看文档。

 

=========================ropevim===============

启用ropevim ,重构Python程序

下载rope,ropemoderopevim,分别解压缩,打开控制台,cd到解压缩目录,执行python setup.py install安装。

然后拷贝ropevim.vim文件到plugin目录。这样就安装好了。我们试试重构一个类名,光标放在类名上,按Ctrl-c 然后连按两下r。

可以看到quickfix窗体要求你输入New name:,输入新的名称回车,再回车,重构就完成了。

 

======================pyflakes======================

Python代码检查

在Vim的ftplugin目录下新建一个python目录。

下载pyflakes,解压缩后把pyflakes.vim文件和pyflakes目录拷贝套ftplugin\python目录中。

打开一个有问题的python源代码文件,执行命令:cc,即可进行代码检查。

 

博客新地址:http://yidao620c.github.io