Vim有用的Python命令列表?

时间:2011-08-11 00:56:27

标签: python vim pretty-print autoformatting

前几天我正在寻找一种在Vim中自动格式化/漂亮打印JSON的快速方法,并在Stack Overflow上找到了这个很棒的小命令::%!python -m json.tool

这让我搜索了一些其他Python工具的列表来打印常见的网络文件,但我找不到多少。是否有一个很好的资源/ Python工具列表,他们发现这些工具对于清理Vim中格式不正确的Web内容特别有用(例如HTML,XML,JavaScript等)?

5 个答案:

答案 0 :(得分:5)

对于XHTML和XML文件,您可以使用整洁。

:%!tidy -i -asxhtml -utf8

:`<,`>!tidy -i -xml -utf8

最后一个适用于视觉选择。

答案 1 :(得分:5)

<强>的Python

您是否只是在寻找Python one-liners的资源?您可以浏览the Python standard library documentation以寻找更多灵感。

或者只是google&#34; python one-liners json.tool&#34;寻找其他资源。例如,此Reddit帖子: Suggestion for a Python blogger: figure out what what all the stdlib main functionality is, and document it

命令行

Vim支持的不仅仅是Python(例如Keith建议的HTML Tidy)。任何可以接受管道/标准输入的工具都可以很好地与Vim集成。

%命令只选择包含整个文件的范围,并选择范围为!的外部程序。

请参阅:help :%:help :!

答案 2 :(得分:2)

Vim有命令执行此操作,=(相等),就像在ggvG=中一样,将重新注册整个文件。有关如何使用:help =功能和外部程序的详细信息,请尝试=。默认配置使用适用于大多数文件类型的内部缩进规则。

答案 3 :(得分:0)

!autopep8 -i %似乎在vim中正常工作。 -i开关将覆盖现有文件。使用more @ autopep8 --help

如果你真的想成为超级用户,那么有一个vim插件。在vim之外,您可以使用autopep8 -diff {filename} or autopep8 {filename}进行测试。

答案 4 :(得分:0)

有许多好的工具可以在两种格式之间转换文本:

  1. par:for hard line wrapping。
  2. pandoc:用于HTML,LaTeX,rst和Markdown
  3. autopep8:用于将Python代码解析为AST并将其吐出为pep8兼容。

    ...

  4. Vim旨在通过强大的formatprg设置来使用此类实用程序。默认情况下,它映射到gq运算符。它适用于Vim动作,Vim文本对象,选择等。

    例如,我在Python文件中使用以下设置

    au FileType python setlocal formatprg=autopep8\ --indent-size\ 0\ -
    

    John MacFarlne a good article关于使用pandoc创建一个专门的脚本,你可以将它放在你的vimrc中。