• 为Python配置Vim编辑器(GUI/非GUI皆可)


    原文地址:https://blog.csdn.net/alanzjl/article/details/49383943

    Vim as a python IDE

    ** 
    这里写图片描述
    最近一直在写Python,但一直没有像样的配置一下Vim,没有代码提示、没有Highlight导致写代码效率低下,于是辗转找到了英国的一篇配置Vim for Python的文章,抽空翻译了一下。

    时间不多,前言部分就不翻译了,直接开始正文。

    首先,在开始为python配置之前,你需要安装vim和Vundle。Vundle是一种vim插件包安装工具(类似于python的pip、ubuntu的apt-get),可以大大加快你实用vim、添加vim插件的效率。它从github获取资源,可以从其github repo的README获取更多信息。使用如下命令安装Vundle:

    git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

    然后在你的.vimrc文件中添加下面几行:

    set nocompatible
    syntax on
    filetype off
    
    set rtp+=~/.vim/bundle/vundle/
    call vundle#rc()
    
    " let Vundle manage Vundle
    " required! 
    “ 启用Vundle
    
    Bundle 'gmarik/vundle'
    
    " The bundles you install will be listed here 
    “ 你所安装的包将被列在这里
    filetype plugin indent on
    
    " The rest of your config follows here
    “ 你的其他配置代码

    然后运行vim,在Normal模式下运行下面命令:

    :BundleList

    一个新的窗口应该就显现了,即Vundle,会列出你安装的所有包(bundle),这就意味着你的安装成功了。在本文下面你会安装不同的包,你只需分别将他们添加到.vimrc中即可,下面将详细叙述。

    限制高亮超长行宽度 
    你可能会想要限制python文件的行宽。我喜欢限制在120个字符,标准情况下是80个,但是在现在的高清显示器下显示更多效果更好,你也可以自己调整到自己喜欢的数值。想要启用这个功能,在.vimrc中加入下面代码:

    augroup vimrc_autocmds
        autocmd!
        " highlight characters past column 120
        autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black
        autocmd FileType python match Excess /\%120v.*/
        autocmd FileType python set nowrap
        augroup END

    所有超过这个行宽的代码都会被黑色高亮,你也可以修改高亮颜色以适配你的vim主题。

    Powerline

    下面我们安装Powerline插件,使得vim运行时显示如下信息:

    它会显示当前在Git中的分支、你正在编辑的文件名以及其他一些有用的信息。 
    只需添加:

    Bundle 'Lokaltog/powerline', {'rtp': ‘powerline/bindings/vim/‘}

    到你的.vimrc

    " The bundles you install will be listed here.

    的下面即可。 
    然后重启vim,再次输入:BundleList,显示出你所有添加的插件,然后输入

    :BundleInstall

    来安装这些插件中尚未安装的部分。Powerline还有一些别的可选配置,你可以登录它的github repo看详细说明 
    https://github.com/Lokaltog/powerline-fonts

    Fugitive

    Fugitive是一个Git插件,使得你可以在Vim里面调用Git命令。在vim中实用git命令时要在原本命令前面加上’G’,如”Gcommit”等等。安装Fugitive,在.vimrc中添加

    Bundle ‘tpope/vim-fugitive'

    然后像上面一样使用

    :BundleInstall

    来进行安装

    NerdTree

    NerdTree是一个在vim中新窗口显示的文件浏览器,效果如下:

    添加

    Bundle ‘scrooloose/nerdtree'

    .vimrc,安装之后,再在.vimrc最后添加

    map <F2> :NERDTreeToggle<CR>

    来设置按F2启动NerdTree。

    Python Mode

    重头戏,这个插件基本上添加了你想在vim中实用的关于python的所有功能,比如语法检查、代码补全、显示代码文档、类间跳跃等等工具,详细的可以到repo中查看: 
    https://github.com/klen/python-mode 
    添加

    Bundle ‘klen/python-mode'

    .vimrc中进行安装。在vim中你也可以用:help python-mode来查看python mode的实用说明。下面对pythonmode进行配置,下面是我喜欢的一些配置:

    " Python-mode
    " Activate rope
    " Keys: 按键:
    " K             Show python docs 显示Python文档
    " <Ctrl-Space>  Rope autocomplete  使用Rope进行自动补全
    " <Ctrl-c>g     Rope goto definition  跳转到定义处
    " <Ctrl-c>d     Rope show documentation  显示文档
    " <Ctrl-c>f     Rope find occurrences  寻找该对象出现的地方
    " <Leader>b     Set, unset breakpoint (g:pymode_breakpoint enabled) 断点
    " [[            Jump on previous class or function (normal, visual, operator modes)
    " ]]            Jump on next class or function (normal, visual, operator modes)
    "            跳转到前一个/后一个类或函数
    " [M            Jump on previous class or method (normal, visual, operator modes)
    " ]M            Jump on next class or method (normal, visual, operator modes)
    "              跳转到前一个/后一个类或方法
    let g:pymode_rope = 1
    
    " Documentation 显示文档
    let g:pymode_doc = 1
    let g:pymode_doc_key = 'K'
    
    “Linting 代码查错,=1为启用
    let g:pymode_lint = 1
    let g:pymode_lint_checker = "pyflakes,pep8"
    " Auto check on save
    let g:pymode_lint_write = 1
    
    " Support virtualenv
    let g:pymode_virtualenv = 1
    
    " Enable breakpoints plugin
    let g:pymode_breakpoint = 1
    let g:pymode_breakpoint_bind = '<leader>b'
    
    " syntax highlighting 高亮形式
    let g:pymode_syntax = 1
    let g:pymode_syntax_all = 1
    let g:pymode_syntax_indent_errors = g:pymode_syntax_all
    let g:pymode_syntax_space_errors = g:pymode_syntax_all
    
    " Don't autofold code 禁用自动代码折叠
    let g:pymode_folding = 0

    Jedi vim

    Jedi vim可能是一种更好的python代码补全插件,可以到 
    https://github.com/davidhalter/jedi-vim 
    查看使用说明。安装之后,需要先禁用Rope,用

    let g:pymode_rope = 0

    替换刚才添加的

    let g:pymode_rope = 1

    其他设置 
    在vimrc中:

    " Use <leader>l to toggle display of whitespace
    nmap <leader>l :set list!<CR>
    " automatically change window's cwd to file's dir
    set autochdir
    
    " I'm prefer spaces to tabs
    set tabstop=4
    set shiftwidth=4
    set expandtab
    
    " more subtle popup colors 
    if has ('gui_running')
        highlight Pmenu guibg=#cccccc gui=bold    
    endif

    比较常用,就不解释每一条具体含义了。 

    这是一些基本的Vim for Python配置,其他的功能可以去Vundle页面查看使用其方法,或者找其他的插件使用。

  • 相关阅读:
    STS和Eclipse安装Lombok插件
    html5盒子模型
    SpringBoot整合Ribbon注入RestTemplate实例找不到原因
    Tomcat调整JVM大小,启动闪退
    quick cocos 设置屏幕大小
    quick cocos 多点触控,真机测试成功
    quick cocos 打包apk
    cocos3 多点触控 经过真机测试
    corona image sheet
    corona 杂类
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/11629460.html
Copyright © 2020-2023  润新知