Pythonでの開発用にemacsを構成するか、「完璧な」エディターを見つける

この記事の目的は、Pythonコードの「理想的な」エディターの検索、emacsを選択した理由、およびPythonで動作するように簡単に構成した方法(emacs)について説明することです。

少しの背景:私は2年以上pythonを開発してきましたが、この間、最高のエディターを見つけようとしました。 この間使用しなかったのは、mcedit、nano、gedit、netbeans、eclipse、およびその他の有料オプション(デモ版)です。 しかし、常に何かが欠けていたり、オートコンプリートがあったり、バックライトがあったり、ちょっと不便だったりしていました。 ある期間(約10か月)、Eclipseが使用しましたが、リソースの大食いがハングアップし、白熱しました。 日食のエラーが完全に気になったとき、私は仕事で素晴らしいヘルパーになるエディターを探し始めました。
グーグルで武装して、彼は「完璧な」エディターを探し始めました。

注! さらに本文では、著者の純粋に個人的な意見です。
「理想的な」エディターは次のとおりです。

また、使用したい機能と特徴に注目したいと思いました。

Python固有の機能:


候補1 - Gedit
Gnomeグラフィカルシェルの通常のエディター。
良いこと:

悪い点:

結論:小さなスクリプトの編集には非常に適していますが、大きなプロジェクトではほとんど使用できません。

候補2- エリック
Eric Python IDE
良いこと:

悪い点:

結論:一見、本格的なIDEです。 思いやりのあるインターフェイス。 あなたがそれに慣れるなら、おそらく便利でしょう。

候補3 - Emacs
カスタマイズ可能な機能が豊富な禁欲的なエディター
良いこと:

悪い点:

結論:この時点でこのエディターを使用します 。 設定が難しく、使い慣れていない、後から別のエディタを使用するのは非常に困難です(短時間でも)

なぜemacsを選ぶのですか? 私は長い間よく見ていましたが、多くの開発者のように、複雑なジェスチャーなしで既製のソリューションを使用しようとしました。 はい、おそらく長い間セットアップに煩わされたくなかったでしょう。 あらゆる種類のフリルとボタンにうんざりしているときだけ、私はただ働きたいだけで、何にも気を取られないようにしました。 一般に、emacsをインストールし、セットアップに数日間眠れずに過ごし、しばらく作業を続けていたので、私はこのエディターが長い間私と一緒にいることに気付きました。

設定方法。 多くの初心者のemacsユーザーは、「〜/ .emacs」を非構造化プラグインとフックで膨らませます。 最初は同じことをしましたが、 gabrielelanaroの設定の構成を見てから、次の構造を作成しました。
使用された構成:

.. dist-拡張機能の配布
...オートコンプリート-emacsのオートコンプリート、 使用されているgabrielelanaroリポジトリのバージョン元のバージョン
... python-mode-Pythonコミュニティバージョン<aref == launch launchpad.net/python-mode " > 6.0.2からのemacsでのPythonサポート
... yasnippet-emacsスニペットのサポート、 gabrielelanaroリポジトリの使用 バージョン元のバージョン
... pymacs-emacsへのPythonバインディング、 プロジェクトサイト
.. doc-拡張ドキュメント
.. exten-初期化される拡張子
...オートコンプリート
... color-theme.el-追加のテーマを接続する
... highlight-indentation.el-インデントを強調表示します
... open-next-line.el
... python-mode.el-実際にはpython-mode
... python-pylint.el-pylintサポート(pylintをシステムにインストールする必要があります)
... snippet-helpers.el-yasnippetへの追加
... yasnippet
... autopair.el-対になった文字を閉じる
... fill-column-indicator.el-行インジケーター
... lambda-mode.el-ラムダを表示文字に置き換える
... pymacs.el
... python-pep8.el-pep8サポート(pep8はシステムにインストールする必要があります)
... smart-operator.el
...テーマ-追加テーマ
.. init-コンポーネント初期化ファイル
.. init.el-構成の初期化直接
.. python-dist-動作に必要なpythonパッケージの配布
... pymacs
...ロープ
... ropemacs
...ロープモード
完全な構成はGitHubのリポジトリから取得できますが、構成は最終的なものではありません。 ECBを統合する将来の計画。 リポジトリのwikiで、使用されているキーバインディングの説明を追加します。

この構成に統合された興味深い追加:
バッファを切り替える:
\ C +。 -次のバッファー
\ C +、-prev buffer

ウィンドウ間の切り替え:
\ M +上
\ M +下
\ M +左
\ M +右

\ TABを押すことによる自動補完

Pythonクラスとメソッドを追加して正しく機能させるには、ローププロジェクトをアクティブにする必要があります。
デフォルトでは、プロジェクトが作成されていない場合、ロープが作成を提案します。

いくつかのスクリーンショット:


構文の強調表示、80番目の文字の青い縦線インジケーター


職場での自動補完


iBuffer-開いているすべてのバッファーのリストを表示します


ファジー検索サポートを備えた統合ido

emacs構成を整理するための同様の手法、特にこの構成に関する経験豊富なemacsユーザーの意見を聞きたいと思います。 この構成を改善するための例と提案を歓迎します。

この構成が機能するプラットフォーム:
Linux ppc 3.1.5-gentooppc#1 SMP Wed Jan 4 00:01:44 EET 2012 i686 Intel Pentium CPU P6200 @ 2.13GHz GenuineIntel GNU / Linux

Source: https://habr.com/ru/post/J136668/


All Articles