20

先日、Vim で JSON を自動フォーマット/きれいに印刷する簡単な方法を探していたところ、Stack Overflow で次の素晴らしいコマンドを見つけました。:%!python -m json.tool

そのため、一般的な Web ファイルをきれいに印刷するための他の Python ツールのリストを検索するようになりましたが、あまり見つかりませんでした。Vim 内の不適切な形式の Web 要素 (HTML、XML、JavaScript など) をクリーンアップするのに特に役立つ Python ツールの優れたリソース/リストはありますか?

4

5 に答える 5

5

Python

Pythonワンライナーのリソースを探しているだけですか?Python標準ライブラリのドキュメントを参照して、より多くのインスピレーションを見つけることができます。

または、単に「python one-liners json.tool」をグーグルで検索して、追加のリソースを見つけてください。たとえば、このRedditの投稿: Pythonブロガーへの提案:すべてのstdlibの主な機能が何であるかを理解し、それを文書化します

コマンドライン

VimはPythonだけではありません(たとえば、Keithが提案したHTML Tidy )。パイプ/標準入力を受け入れることができるツールはすべてVimとうまく統合されます。

この%コマンドは、ファイル全体を含む範囲を選択し、!その範囲を外部プログラムでフィルタリングするだけです。

:help :%て、:help :!

于 2011-08-11T20:38:13.680 に答える
5

XHTML および XML ファイルの場合は、tidy を使用できます。

:%!tidy -i -asxhtml -utf8

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

最後の 1 つは視覚的な選択で機能します。

于 2011-08-11T08:00:06.653 に答える
2

Vim にはそれを行うコマンド=(equal) があり、ggvG=ファイル全体を再インデントします。:help =で関数や外部プログラムを使用する方法の詳細については、試してみてください=。デフォルトの設定では、ほとんどのファイル タイプで機能する内部インデント ルールが使用されます。

于 2011-08-11T07:32:23.717 に答える
0

!autopep8 -i %でうまくいくようvimです。スイッチは、既存の-iファイルを上書きすることです。を使用しmore @ autopep8 --helpます。

vimあなたが本当にパワーユーザーになることを考えているなら、これのためのプラグインがあります. あなたの外でvimそれをテストすることができますautopep8 -diff {filename} or autopep8 {filename}

于 2014-06-09T11:52:03.537 に答える
0

2 つの形式間でテキストを変換できる優れたツールがたくさんあります。

  1. par: ハード ライン ラッピング用。

  2. pandoc: HTML、LaTeX、rst、および Markdown 用

  3. autopep8: Python コードをASTに解析し、pep8 準拠として吐き出します。

    ...

Vim は、このようなユーティリティを強力なformatprg設定で利用できるように設計されています。これはデフォルトで gq 演算子にマップされます。Vim のモーション、Vim のテキスト オブジェクト、選択範囲などでうまく機能します。

たとえば、Python ファイルに対して以下の設定を使用します。

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

John MacFarlne には、vimrc に貼り付けられる pandoc を使用した特殊なスクリプトの作成に関する良い記事があります。

于 2014-06-28T20:16:16.157 に答える