为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页面查看使用其方法,或者找其他的插件使用。

原文地址:https://www.cnblogs.com/guochaoxxl/p/11629460.html

时间: 2024-08-05 05:14:11

为Python配置Vim编辑器(GUI/非GUI皆可)的相关文章

A Byte of Python之安装python / 配置vim

从今天开始学习python,学习的目的: 国外的都是以python做编程入门,去英国前要把课补上 今天买了一本机器学习实战,是用python写的,虽然大部分代码能够看懂,但是系统的学习还是很有必要 知乎上的大牛很推崇python,一定有道理,学学也无妨 在知乎上找了一些python入门的经验,这篇比较中意. http://www.zhihu.com/question/20702054/answer/15960991 本来一直犹豫不决要选3.x还是2.x,最后还是选择2.x,作为入门,等需要时再看

配置Vim编辑器设置Tab键的格数(长度)

打开vim配置文件(比如sudo,或su进入root模式) 1.sudo vim /etc/vim/vimrc 添加一行 2.set tabstop=4 退出保存 3.:wq 进阶 在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:set ts=4  (注:ts是tabstop的缩写,设TAB宽4个空格)set expandtab 对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:TAB替换为空格::set ts=4:set expandtab:%retab! 空

ubuntu 配置vim编辑器

憋了很久,终于用上了unix下的vim 开发环境: 安装pydiction pydiction用来实现代码补全和语法提示功能.pydiction不能通过apt安装,需要自行下载安装. git clone https://github.com/rkulla/pydiction #https://github.com/ma6174/vim 看个人吧 pydiction可以让vim自动补全Python代码,无论是关键字,标准库还是第三方库.它主要包含3个文件: python_pydiction.vim

centos7 配置vim编辑器

1. taglist 1.1 安装ctags yum search ctags yum install ctags.x86_64 1.2 安装 taglist 下载地址 http://www.vim.org/scripts/script.php?script_id=273 解压之后,拷贝到 $VIM/vimfiles 对应的 doc 和 plugin 目录中 启动 vim ,使用 TlistToggle 命令就可以打开了

配置 vim 编辑器

添加vim配置文件 $ vim .vimrc """"""""""""""""""""""""""""""""""""""&quo

vim编辑器的配置和使用.

vim 配置和简单使用方法. 安装 vim和tags使用的源链接地址: http://blog.csdn.net/shaohuazuo/article/details/46745209 博客 vimrc配置文件可以参考如下地址:http://blog.csdn.net/shaohuazuo/article/details/41721647 博客 1. 进入命令行模式. 可以按esc键.就可以进入. 2. vim中移动光标命令.切换到命令行: (h左,j下,上k,右l) h:向左移动一个字符,l:

Jmeter 非 GUI 命令行执行脚本文件

介绍 进行性能测试时,Jmeter 官方文档声明是不建议在 GUI 执行的,此时需要用到命令行. 第一步:环境配置 把 Jmeter安装目录\bin 添加到 系统环境变量path 第二步:命令参数 -n    命令行模式-t 脚本路径-l 测试结果路径(jtl 或者 csv)-j 日志路径-r 分布式执行-R   远程服务器列表-g    生成测试报表-e       设置测试完成后生成测试报表-o       指定测试报表生成文件夹-H      代理服务器IP-P      代理服务器端口

Vim编辑器,find命令及bash环境配置

1.总结文本编辑工具vim的使用方法: 全屏幕的编辑器:VIM vi: visual interface sed:行编辑器 vi, vi iMproved vim: 模式化: 编辑模式:命令模式 输入模式: 末行模式: 编辑模式 --> 输入模式: i: insert, a:append, o:new line, I: 行首 A:行尾 O:上方新建行 输入模式 --> 编辑模式: ESC 编辑模式 --> 末行模式: : 末行模式 --> 编辑模式 ESC 打开vim: # vim

egrep、bash环境配置及脚本、vim编辑器

egrep及扩展的正则表达式 egrep = grep -E egrep [options] pattern [file..] 扩展正则表达式的元字符字符匹配.:匹配任意单个字符[[email protected] ~]# grep -E . /tmp/123ABC123boy []:匹配指定范围内的单个字符[[email protected] ~]# grep -E [abc] /tmp/123boyabc [^]:匹配指定范围外的单个字符[[email protected] ~]# grep