zoukankan      html  css  js  c++  java
  • 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
    帮助你成块的注释和反注释代码

    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键上下选择,回车就使源码窗口跳到对应节,如函数

    from:http://www.cnblogs.com/itrust/archive/2010/05/06/1728675.html

  • 相关阅读:
    安装centos出现的问题
    linux学习笔记
    sails框架结合mocha的测试环境搭建
    sails框架结合mocha
    使用postman发送http请求
    C++之易混淆知识点三---算法分析
    复习一下单链表的常用操作
    C++之易混淆知识点二
    FPGA之阻塞赋值与非阻塞赋值
    C++之易混淆知识点一-----static详解
  • 原文地址:https://www.cnblogs.com/me115/p/2111305.html
Copyright © 2011-2022 走看看