python - 为 Python 设置 Vim

标签 python vim indentation

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

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

然后我按下光标上的制表符(在哔哔声的 b 上),它不会插入一个新的制表符,导致语法错误,但它会切换哔哔声的可能级别。有没有办法在 Vim 上获得这种效果?

最佳答案

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

老实说,我从来没有能够深入到 emacs 的深处,因为它只是在我的 vim 洞穴中令人愉快的冥想。话虽如此,让我们开始吧。

开始

杰纳斯

对于初学者,我强烈推荐安装现成的Janus plugin (fwiw,这个名字来自以 Janus Vim 为主角的星际迷航剧集)。如果您想要一个快速的 vim IDE 快捷方式,那是您最好的选择。

我从来没有经常使用它,但我已经看到其他人愉快地使用它,而且我当前的设置大量借鉴了旧的 Janus 构建。

Vim 病原体

否则,请自行探索!我强烈推荐安装 vim pathogen如果你想看看 vim 插件的世界。

这是一个包管理器。一旦你安装了它,你可以将 git 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 的链接:

关于python - 为 Python 设置 Vim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9172802/

相关文章:

python - 绘制 Pandas 数据框两列

python - 即使数据库显示数据,PyMongo 也不会返回 None

java - 我是否有理由不应该将 Java 代码的逻辑部分括在大括号中?

select - Vaadin - com.vaadin.ui.Select - 缩进

python - 如何将用户输入作为字典并在python中显示其内容

python - "res_model"列中的空值违反了 Odoo11 中的非空约束

vim - ctags,使用多个路径生成标签?

syntax-highlighting - 如何更改 Vim 中注释的字体颜色

Vim 脚本突出显示大括号等标签的结尾

python - "Google"python 样式脚本不工作