VIM 笔记 (for python )

Technorati 标签: vim

汇集网上各位兄台的内容,自己做了个笔记

配置

最常用配置

set nocompatible  "使得vim避免了原始vi的一些漏洞和限制

set autoindent      "使用你当前行的缩进来设置你下一行的缩进


set smartindent  "自动根据当前行的缩进,预测下一行的缩进

 

"在文本缩进时使用4格制表符(自动或者手动调整缩进)
set tabstop=4
set shiftwidth=4

set expandtab "将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V<TAB>
set softtabstop=4 "方便在开启了et后使用退格(backspace)键,每次退格将删除X个空格

 

set nobackup    "取消备份文件

set showmatch   "光标快速定位到匹配的括号

set guioptions-=T "去掉工具条
set guioptions-=m "去掉菜单栏

 

set vb t_vb=  "屏蔽遇到无效命令时发出的蜂鸣声,而用一个快速的闪烁取而代之
set ruler        "确保每一个窗口都包行一个显示当前光标位置的状态栏
set nohls      "默认情况下,查找到的内容会被高亮显示。这个命令关闭了高亮显示查找内容
set incsearch  "当输入字符时,快速将光标定位到相应的位置

最有用的命令

. 输入‘.’(一个句号)能重复上一条执行的命令
K 进入当前光标下字符串的命令解释页面(例如如果你光标在sleep上,按下K键你就能看到sleep的命令解释页面)
% 将光标定位在大括号,中括号...上,然后按下输入%,将能让光标定位于该大括号或是中括号的另一半上
CTRL-V 块操作,如给每行加注释#:

1, Ctrl + V (windows 下为Ctrl + Q) 进入 VIM 的块操作模式.

2, 使用 j, k 键上下移动,选中这三行,需要确保每行的首列包含在选中块中。

3, 键入 I (大写 i),即在行首插入。 输入 Python 的注释符 ‘#’。

4, 按下 ESC 键。

:%!xxd 查看文件的十六进制编码, 返回文本状态 :%!xxd -r
   
   
:help options  查看所有VIM提供的选项

有用的插件

NERD Commenter 帮助你成块的注释和反注释代码
snipMate

实现代码片段,如在 c 文件中输入 for <tab> , 则自动输入整个for循环需要的代码片段。
为了不和pydiction 争用 <tab> 键,改plugin/snipMate.vim,使得snipMate用ctrl+j :

ino <silent> <c-j> <c-r>=TriggerSnippet()<cr>
"ino <silent> <tab> <c-r>=TriggerSnippet()<cr>
snor <silent> <c-j> <esc>i<right><c-r>=TriggerSnippet()<cr>
"snor <silent> <tab> <esc>i<right><c-r>=TriggerSnippet()<cr>

Snippetsemu 实现代码片段,和snipMate一样

为Python做设置

autocmd FileType python setlocal et sta sw=4 sts=4  "4个空格替代TAB

代码折叠

python_fold

命令: zo 展开; zc 折起;  zn  全部展开;  zN 全部折起

代码补全(pydiction)
  • 拷贝文件python_pydiction.vim到 C:\Program Files\Vim\vimfiles\ftplugin 或 ~/.vim/after/ftplugin/
  • 拷贝文件 pydiction.py和complete-dict到 C:\Program Files\Vim\vimfiles\ftplugin\pydiction 或 ~/.vim/after/ftplugin/pydiction(当然,放到任何地方都可以,你只要在接下的vimrc文件中把位置配对即可
  • 编辑 vimrc文件

 

filetype plugin on
let g:pydiction_location='C:\Program Files\Vim\vimfiles\ftplugin\pydiction\complete-dict'

  • 使用方法

<tab> 键 呼出待选项

待选项列表菜单出来后,可以通过tab 向下选择,shift+tab反向选择(上下箭头也可)

不满意就前点别的键(自己试试便知)

代码补全(pysmell)

这个东东和pydiction用处差不多,选一个搞就行了。大概的区别是:

  • 按键没有pydiction方便
  • 字典信息放在项目目录里,不污染全局,这个想法不错

easy_install pysmell

copy pysmell.vim to ~/.vim/plugins

编辑vimrc:  

autocmd FileType python setlocal omnifunc=pysmell#Complete

imap <F4> <C-X><C-O>  “把缺省的Ctrl – X + O 改为 F4

到Python 目录下  

pysmell . -x site-package test -o PYSMELLTAGES.pythonlib;

pysmell site-package/django -o PYSMELLTAGES.django

项目目录下

pysmell . -o PYSMELLTAGS

就可以使用Vim 的自动补全了,按键:

F4  呼出待选窗口

Ctrl – N 向下选择

Ctrl – P 向上选择

代码检查

pyflakes-vim ,安装很简单,懒得翻了:

1. Make sure your vimrc has "filetype plugin indent on" so that pyflake-vim's ftplugin files are loaded automatically when you open a Python buffer.
2. Drop extracted files in ~/.vim/ftplugin/python.

有问题的代码下面会有破浪号,光标移过去就可以在状态栏看到错误信息了。

ctag 和 taglist

拷贝ctags.exe 到vim可执行文件所在目录,确认这个目录在系统路径中

vimrc中配置taglist
let Tlist_Ctags_Cmd="ctags.exe" 
map <F2> :Tlist<CR>  

F2    打开、关闭浏览窗口的快捷键

Ctrl – 两个w      切换在Tag窗口和源码窗口中切换

懒人的方法

上述的东东挨个配起来很麻烦,有个懒人的办法,把所有上述插件和配置都搞定了:

  • 下一个gvim72装上
  • 下这个压缩包vim.rar (for windows),然后解压去覆盖你的vim安装目录

注意事项:

  • 这个包里使用的vim和gvim编译为支持Python2.5, 如果你安装的是2.6,请到这里去下载对应的vim和gvim
  • python环境中需要安装pysmell

汇总一下快捷键:

pydiction 在插入编辑模式下按<tab> tab 向下选择,shift+tab反向选择(上下箭头也可)
pysemll 在插入编辑模式下按F4

Ctrl – N 向下选择; Ctrl – P 向上选择

taglist F2    打开、关闭浏览窗口

Ctrl – 两个w      切换在Tag窗口和源码窗口中切换

在浏览窗口通过 j,k键上下选择,回车就使源码窗口跳到对应节,如函数

posted @ 2010-05-06 11:04  观无明  阅读(1616)  评论(0编辑  收藏  举报