星期一, 六月 16, 2008

应用于 Python 的 vim 配置点滴

应用于 Python 的 vim 配置点滴(windows平台下)

http://blog.bobobook.cn/?p=42

  Python是我最喜欢的编程语言,而vim也是我最常用的编辑器,所以更好的配置vim来编辑Python源程序是很有必要的。下面谈谈偶学来的一点配置技巧。以下的大部分配置都是通过修改_vimrc文件来实现的,在Windows下它存在于vim的安装目录。


1、快捷调用使用的环境变量

  我习惯于把vim的可执行文件路径添加到PATH环境变量,这样平时再控制台下编程的时候可以很方便的启动vim。另外,vim使用的文件名还是略微长了一点。所以我一般将gvim.exe复制后改名为gi.exe。将vim.exe复制后改名为vi.exe。这样直接在控制台下执行gi和vi就可以分别启动vim的GUI版本和Console版本了。

2、在当前路径启动控制台

  很多时候需要在控制台下调试程序需要在当前路径启动一个cmd窗口,而有些路径相当的深或者含有大量中文字符的路径让我们很恼火。所以可以写如下一个简单的批处理文件来在当前文件夹下启动cmd窗口。

@echo off
cmd .

  保存为cmdhere.bat。这样将cmdhere.bat复制到想要的文件夹,直接双击这个批处理文件就可以打开想要的cmd窗口了,而且当前路径也是所在文件夹的路径,非常的方便。

3、关闭备份

  安装后的vim自动是具备备份功能的,一旦一个文件被修改就会生成~filename的备份文件。尽管对发生错误修改时的恢复有用,但是偶还是很不爽。所以关掉它才比较符合偶的习惯。

  在_vimrc文件末尾添加

set nobackup

  即可。

4、自动开启行号

  对编程的人来说行号实在是太重要的,因为很多时候调试中的错误定位就是需要行号的。在vim下直接输入:set nu可以开启行号功能,但是对于习惯于每次都开启行号功能的人来说,还是自动一些为好。编辑_vimrc文件,在末尾添加

set nu

  即可。

5、运行Python脚本的键盘映射

  可以在vim下按下一个快捷键来直接运行当前的Python脚本。如下的设置是使用F12键,且环境变量中已经添加了python.exe的情况。具体习惯和路径可以自己修改。这一行添加到_vimrc文件中。

map :!python.exe %

  这样就可以编辑Python脚本时,随时按下F12,再按下回车键来执行当前脚本。这里的执行时还有一个很贴心的功能,就是对于控制台脚本,执行后并不是直接退出,而是请求按下任意键后才退出。

6、使用ctags功能

  这个功能太强大了,只能这么说了,具体还有什么贴心功能可以自己探索。先讲讲安装。去sf.net下载一个ctags的Windows版本。注意,最新版本可能没有for win32版本的,所以需要向上推一个版本找找看。
下载后将其中解压出的ctags.exe文件放入vim的文件夹,当然,前提是vim的执行文件路径已经添加到PATH变量了。这时,按下gvim工具菜单的[建立],(by gashero)或者在普通模式输入

:!ctags -R

  这样可以在当前路径下建立一个tags文件,然后就可以在vim中使用跳转功能了。其中的-R选项是递归搜索子目录下的相关符号。所谓跳转就是可以随时转到自己想要的函数、类型、结构体、类等等的定义处。比如光标处于任意位置时可以普通模式下输入

:ta func_name

  就可以直接将光标定位到func_name函数处。当然,其他的命名也可以使用这种方法进行快速定位。另外就是可以在光标指向一个函数名时按下Ctrl+],马上跳转到这个函数的定义。在跳转到定义位置之后,可以按下Ctrl+o快速返回原来的编辑位置。

  需要明确以下ctags和tags的区别。ctags是一个程序用于生成tags文件。tags文件是当前目录下所有源文件的标签链接文件。在一个没有ctags的vim中只是无法生成新的tags文件,但是已有的tags文件仍然可以使用。

  如果tags文件不再当前目录下则用

:set tags=filename

  来指定。

7、开启代码折叠

  下载python_fold插件,解压后是python_fold.vim文件,放入plugin目录下。即可实现 Python代码的折叠支持。再次打开Python脚本时会发现所有的代码已经折叠了,其中还现了折叠部分拥有的行数。在折叠的行按下zo可以打开折叠,按下zc会折叠上代码。(by gashero)

  使用了代码折叠以后是否感觉到了vim已经成为了一种相当现代化的编辑器了。呵呵,后面还有精彩。

8、开启taglist功能

  taglist功能是在vim窗口左侧开启一个列表,提供ctags生成的tags文件中的所有符号。此时在 taglist窗口中找到需要跳转到的符号,定位光标,按下回车,即可将光标定位到右侧窗口的相关代码位置。使用十分的方便。当然要确保tags文件已经存在的情况下。另外,对于两个窗口之间的切换,我是习惯于按两次Ctrl+w的。
taglist是需要下载的一个taglist.vim文件,可以到sf.net上搜索及下载。

默认情况下taglist是不打开的。不同的是python_fold是默认打开的。手动打开,在普通模式下输入

:Tlist

  默认打开taglist的方法:_vimrc中加入

let Tlist_Auto_Open=1

没有评论: