VIM 笔记 (for python )
汇集网上各位兄台的内容,自己做了个笔记
配置
最常用配置
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
帮助你成块的注释和反注释代码
实现代码片段,如在 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
代码折叠
命令: 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键上下选择,回车就使源码窗口跳到对应节,如函数
from:http://www.cnblogs.com/itrust/archive/2010/05/06/1728675.html