繁体   English   中英

为 Python 设置 Vim

[英]Setting up Vim for Python

我真的很喜欢 Python 的 Emacs 编辑器,因为它的智能选项卡例如如果我有这样的东西

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

并且我按下光标上的 Tab 键(它在哔声的 b 上),它不会插入导致语法错误的新标签页,但它会在哔声可以打开的可能级别之间切换。 有没有办法在 Vim 上获得这种效果?

一般来说,vim 是一个非常强大的常规语言编辑器(宏扩展了它,但我们现在将忽略它)。 这是因为 vim 是 ed 之上的一个薄层,而 ed 只不过是一个会说正则表达式的行编辑器。 Emacs 的优点是建立在 ELisp 之上; 让它能够轻松解析复杂的语法并执行您上面分享的缩进技巧。

老实说,我从来没有能够深入到 emacs 的深处,因为它在我的 vim 洞穴中冥想简直令人愉快。 话虽如此,让我们跳进去。

入门

雅努斯

对于初学者,我强烈建议安装现成的Janus 插件(顺便说一下,这个名字来自以 Janus Vim 为特色的星际迷航剧集)。 如果您想要一个 vim IDE 的快速快捷方式,那么它是您物有所值的最佳选择。

我从来没有使用过它,但我看到其他人很高兴地使用它,而且我当前的设置是从旧的 Janus 构建中大量借用的。

Vim病原体

否则,请自行探索! 如果您想查看 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

有用的网址

以下是我发现并喜欢的有关扩展 vim 的一些链接:

对于那些在 2013 年夏天左右到达的人来说,我相信这个帖子中的一些已经过时了。

我跟着这个HOWTO其中建议Vundle过的病原体。 使用一天后,我发现安装插件很简单。

klen/python-mode 插件值得特别提及。 它提供 pyflakes 和 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 上找到,您可以通过 Google 轻松找到它们。

将以下内容放入您的.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 的PyCharmIdeaVIM 插件,对于简单的编辑,添加到.vimrc似乎就足够了。

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

在 Linux 下,对我有用的是 John Anderson 的 (sontek) 指南,您可以在此链接中找到指南。 但是,我作弊了,只是使用了他的 Git 存储库中的简单配置设置:

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

cd dotfiles

./install.sh vim

到今天为止,他的配置是相当最新的。

回复:已死的“将 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。

前段时间我安装了Valloric/YouCompleteMe ,我觉得它真的很棒。 它为您提供文件路径、函数名称、方法、变量名称的补全...与davidhalter/jedi-vim一起使 vim 非常适合 Python 编程(现在唯一缺少的是 linter)。

一个非常好的插件管理系统使用。 包含的 vimrc 文件足以用于 Python 编程,并且可以根据您的需要轻松配置。 http://spf13.com/project/spf13-vim/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM