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



All Articles