作者Holocaust123 (要把自己逼紧一点)
看板Editor
标题Re: [新手] 在vim上如何编辑python?
时间Wed Sep 8 22:49:52 2010
※ 引述《joohsieh (亚策)》之铭言:
: 一个星期前因为XP整个摆烂,转个方向用了Ubuntu
: 因缘际会对python有点兴趣,不过本身没有程式的底子
: 找了一些资料,在terminal上做了点基本的练习
: 不过要进到「写」的阶段似乎需要个编辑器
: 看到有些人建议vim这个强大的文字编辑器
: 但是我悟性实在太低...
: 看了一大串的说明文件还是一头雾水
: 请问要怎麽使用vim来编写python?
我目前的做法是这样, 给你参考看看
(下面有些内容是直接从我的笔记剪下贴上的,
只有排版而已, 所以有些句子看起来怪怪的,
不过应该还是看得懂...)
1.一键执行py档
在.vimrc中加入:
autocmd BufRead *.py set makeprg=python\ -c\ \"import\ py_compile,sys;\ sys.stderr=sys.stdout;\ py_compile.compile(r'%')\"
autocmd BufRead *.py set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
autocmd FileType python map <buffer> <F9> <ESC>:w<CR>:!python %<CR>
autocmd FileType python imap <buffer> <F9> <ESC><F9>
autocmd BufRead *.py map <F10> <ESC>:w<CR>:make<CR>
autocmd BufRead *.py imap <F10> <ESC><F10>
打开的档案是py档时,
按 F9 可储存并执行, 按 F10 可检查语法有无错误,
若有, 打开quickfix视窗(:copen或:cope)可以看哪里错了;
若无, 则产生pyc档
附注: 我在XP上用gVim测试後
发现py档的档名若有空白或非ascii字元的话
过程会出现乱码, 无法执行:
http://www.dumpt.com/img/viewer.php?file=et165vb3285gjhsxnco6.jpg
有人知道怎麽解决吗orz
2.real-time的程式码校验
名称:PyFlakes
载点:
http://www.vim.org/scripts/script.php?script_id=2441
功能:打开py档後有问题的行的底下会出现波浪线
把光标移过去那行
状态列会显示出了什麽问题
(ex:语法错误, 引入了module但没使用, ...)
网站有讲PyFlakes可以检查的问题种类
像PyFlakes一样的校验程式还有Pylint, PyChecker等
安装:1.在_gvimrc中加入:
filetype plugin indent on
2.解压到vimfiles/ftplugin/python
3.gvim.exe跟vim.exe必须支援python 2.5以上
载点:
http://www.gooli.org/blog/gvim-72-with-python-2526-support-windows-binaries/
(看电脑灌哪个版本的python就抓哪个zip)
(偷偷徵求会编python 2.5进vim的人, 我想学...)
4.查看vim支援的python版本的方法
在vim shell中输入以下指令:
python import sys; print sys.version
3.快速单行/多行注解 & 反注解
名称:comments.vim
载点:
http://www.vim.org/scripts/script.php?script_id=1528
功能:针对多种语言提供单行或区块注解及反注解
安装:放到plugin资料夹
用法:normal mode中按<A-3>或<A-4>, 分别为单行注解及反注解
visual mode中按<A-3>或<A-4>, 分别为多行注解及反注解
(预设是<C-c>跟<C-x>, 我改成<A-3>跟<A-4>)
(建议用line visual mode,否则注解符号会不整齐)
注意:1.预设的热键(<C-c>, <C-x>)觉得不好用的话,
可直接从comments.vim中作修改
2.预设不支援py档, 要自已加到comments.vim中
附注:其实我比较想用Ctrl+/跟Ctrl+\取代Alt+3跟Alt+4
无奈找很久还是不知道怎麽 map Ctrl+/跟Ctrl+\
有好心人可以教一下吗 > <
4.code completion
名称:Pydiction
功能:当档案的副档名是py时,
用Tab可自动补完python的关键字, module名称, ...等
安装:
1. 把python_pydiction.vim放在:
C:\Program Files\Vim\vimfiles\ftplugin\
2. 把pydiction资料夹(内含pydiction.py、complete-dict、README.txt):
放在C:\Program Files\Vim\vimfiles\ftplugin\
3 .在_gvimrc加入:
filetype plugin on
let g:pydiction_location='C:/Program Files/Vim/vimfiles/ftplugin/pydiction/complete-dict'
用法:字打一半按Tab, 就会跳出选择清单
ex: pri<Tab> => print
print(
print_function
...
注意:1. python_pydiction.vim的位置不可更改,
一定要放在C:\Program Files\Vim\vimfiles\ftplugin\
2. pydiction的位置可任意更改,
但要记得同时修改g:pydiction_location的值
3. XP下, g:pydiction_location的字串内用斜线(/)而非反斜线(\);
可用单引号(')或双引号('')包住字串
Linux下,
let g:pydiction_location=$HOME.'/.vim/ftplugin/pydiction/complete-dict'
4. 需在_gvimrc中加入下面这行, 否则pydiction不会生效:
set nopaste
5.适合py档的折叠方式
"打开py档时, 用缩排当折叠的单位
au FileType python set foldmethod=indent
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.32
1F:推 deepking:喔喔喔 好赞~感谢分享!! 09/08 22:59
2F:推 PCIT:这一篇文章值 636 元 09/09 01:01
※ 编辑: Holocaust123 来自: 140.112.30.32 (10/02 05:27)