设为首页 收藏本站
查看: 1453|回复: 0

[经验分享] VIM 笔记 (for python )

[复制链接]

尚未签到

发表于 2015-4-26 11:06:36 | 显示全部楼层 |阅读模式
  汇集网上各位兄台的内容,自己做了个笔记
配置
最常用配置
  set nocompatible  "使得vim避免了原始vi的一些漏洞和限制
  set autoindent      "使用你当前行的缩进来设置你下一行的缩进
  set smartindent  "自动根据当前行的缩进,预测下一行的缩进
  "在文本缩进时使用4格制表符(自动或者手动调整缩进)
set tabstop=4
set shiftwidth=4
  set expandtab "将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V
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  , 则自动输入整个for循环需要的代码片段。
为了不和pydiction 争用  键,改plugin/snipMate.vim,使得snipMate用ctrl+j :
  ino   =TriggerSnippet()
"ino   =TriggerSnippet()
snor   i=TriggerSnippet()
"snor   i=TriggerSnippet()
  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 向下选择,shift+tab反向选择(上下箭头也可)
  不满意就前点别的键(自己试试便知)
代码补全(pysmell)
  这个东东和pydiction用处差不多,选一个搞就行了。大概的区别是:

  • 按键没有pydiction方便
  • 字典信息放在项目目录里,不污染全局,这个想法不错
  easy_install pysmell
  copy pysmell.vim to ~/.vim/plugins
  编辑vimrc:  
  autocmd FileType python setlocal omnifunc=pysmell#Complete
  imap    “把缺省的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  :Tlist  
  F2    打开、关闭浏览窗口的快捷键
  Ctrl – 两个w      切换在Tag窗口和源码窗口中切换
懒人的方法
  上述的东东挨个配起来很麻烦,有个懒人的办法,把所有上述插件和配置都搞定了:

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

  • 这个包里使用的vim和gvim编译为支持Python2.5, 如果你安装的是2.6,请到这里去下载对应的vim和gvim
  • python环境中需要安装pysmell
  汇总一下快捷键:
  pydiction
在插入编辑模式下按
tab 向下选择,shift+tab反向选择(上下箭头也可)
  pysemll
在插入编辑模式下按F4
  Ctrl – N 向下选择; Ctrl – P 向上选择
  taglist
F2    打开、关闭浏览窗口
  Ctrl – 两个w      切换在Tag窗口和源码窗口中切换
  在浏览窗口通过 j,k键上下选择,回车就使源码窗口跳到对应节,如函数
  from:http://www.iyunv.com/itrust/archive/2010/05/06/1728675.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-60832-1-1.html 上篇帖子: python使用opencv进行人脸识别 下篇帖子: Python语法学习之文件操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表