为Python设置Vim

我真的很喜欢Python的Emacs编辑器,因为如果我有这样的东西,它就是智能的Tab键

def foo(): if bar: blah [b]eep 

我按下光标上的标签(这是在哔声b),它不会插入一个新的选项卡导致语法错误,但它会切换可能的级别,嘟嘟声可以。 有没有在Vim上得到这个效果?

一般来说,vim是一个function非常强大的常规语言编辑器(macros扩展了这一点,但现在我们将忽略它)。 这是因为vim是ed顶部的一个薄层,ed不过是一个正则expression式的行编辑器。 Emacs具有构build在ELisp之上的优势; 借此它可以轻松地parsing复杂的语法,并执行缩进技巧,如上面分享的那样。

说实话,我从来没有能够深入到emacs的深处,因为它只是在我的vim洞内愉快地沉思。 这样说吧,让我们进入

入门

杰纳斯

对于初学者,我强烈build议安装现成的Janus插件 (fwiw,名字来自以“Janus Vim”为特色的Star Trek专集)。 如果你想要一个vim IDE的快捷方式,这是你最好的select。

我从来没有用过它,但我已经看到其他人愉快地使用它,而且我现在的设置很大程度上是从旧的Janus版本中借用的。

Vim病原体

否则,请自己做一些探索! 我强烈build议安装vim病原体,如果你想看看vim插件的世界。

这是一个包装经理的种类。 一旦你安装了它,你可以将git clonegit clone到你的~/.vim/bundle目录,并且它们是自动安装的。 没有更多的插件安装,维护,或卸载头痛!

您可以从GitHub页面运行以下脚本来安装病原体:

 mkdir -p ~/.vim/autoload ~/.vim/bundle; \ curl -so ~/.vim/autoload/pathogen.vim \ https://raw.github.com/tpope/vim-pathogen/HEAD/autoload/pathogen.vim 

有用的url

这里有一些关于扩展vim我发现和喜欢的链接:

  • 把Vim变成一个现代的Python IDE
  • Vim作为Python IDE
  • OS X和Python (特定于OSX)
  • 学习Vimscript困难的方法 (伟大的书,如果你想学习vimscript)

对于2013年左右到来的人来说,我相信这个线程已经过时了。

我遵循这个推荐Vundle over病原体的howto 。 一天后,我发现安装插件琐碎。

klen / python模式插件值得特别提及。 它提供了其他functionpyflakes和pylint。

我刚开始使用Valloric / YouCompleteMe,我喜欢它。 它具有C-lang自动完成,并且由于jedi集成,python也非常有效。 根据这个讨论,它可能会取代jedi-vim / davidhalter / jedi-vim / issues / 119

最后浏览/ carlhuda / janus插件提供了一个很好的指导,你可能不知道你正在寻找的有用的脚本,如NerdTree,vim-fugitive,syntastic,powerline,ack.vim,snipmate …

以上所有的“{} / {}”都可以在github上find,您可以通过Google轻松find它们。

将以下内容放在.vimrc

 autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class autocmd BufRead *.py set nocindent autocmd BufWritePre *.py normal m`:%s/\s\+$//e `` filetype plugin indent on 

另见详细的说明

我个人使用JetBrain的PyCharm与IdeaVIM插件做任何复杂的事情时,简单地编辑添加到.vimrc似乎是足够的。

有一个用于Python开发的捆绑的Vim插件集合: http : //www.vim.org/scripts/script.php? script_id=3770

在Linux下,John Anderson的(sontek)指南适用于我,你可以在这个链接find。 然而,我欺骗了,只是从他的Git repostiory中使用他的简单configuration设置:

 git clone -b vim https://github.com/sontek/dotfiles.git cd dotfiles ./install.sh vim 

他的configuration与今天相当。

前段时间我安装了Valloric / YouCompleteMe ,我觉得它真的很棒。 它为您提供了文件path,函数名称,方法,variables名称的完成…与davidhalter / jedi-vim一起,它使得vim非常适合python编程(现在唯一缺less的是linter)。

回复:死亡“将Vim转变成现代Python IDE”链接,早在2013年,我保存了一份副本,即转换为HTML页面以及PDF副本:

http://persagen.com/files/misc/Turning_vim_into_a_modern_Python_IDE.html

http://persagen.com/files/misc/Turning_vim_into_a_modern_Python_IDE.pdf

修改(2017年9月8日)更新的url。

一个非常好的插件pipe理系统使用。 包括vimrc文件是足够好的python编程,可以很容易地configuration您的需求。 请参阅http://spf13.com/project/spf13-vim/