少しの背景:私は2年以上pythonを開発してきましたが、この間、最高のエディターを見つけようとしました。 この間使用しなかったのは、mcedit、nano、gedit、netbeans、eclipse、およびその他の有料オプション(デモ版)です。 しかし、常に何かが欠けていたり、オートコンプリートがあったり、バックライトがあったり、ちょっと不便だったりしていました。 ある期間(約10か月)、Eclipseが使用しましたが、リソースの大食いがハングアップし、白熱しました。 日食のエラーが完全に気になったとき、私は仕事で素晴らしいヘルパーになるエディターを探し始めました。
グーグルで武装して、彼は「完璧な」エディターを探し始めました。
注! さらに本文では、著者の純粋に個人的な意見です。
「理想的な」エディターは次のとおりです。
- 簡単-作業に500Mb以上のRAMは必要ありません。
- カスタマイズ可能-自分用にカスタマイズする機会を提供します(外観、キーバインディング)。
- 信頼性-クラッシュした場合に以前のデータを復元する機会を与えます。
また、使用したい機能と特徴に注目したいと思いました。
- オートコンプリート-作業を促進し、クリック数を減らします。
- コードによるイントロスペクション-必要なクラスやメソッドを検索するのにかかる時間を短縮します;
- 構文の強調表示-コードの可読性を向上させ、視覚への負荷を軽減します。
- マウスの最小限の使用-キーボードから手を離さないでください。
- スニペットの追加-新しい構造を作成するルーチンを減らします。
- cvs / vcsのサポート-svn、git、mercurial;
- プロジェクト管理サポート。
Python固有の機能:
- Pythonシェルのサポート。
- pep8、pylintを確認してください。
- 終了、改行、インデント。
- デバッグ
候補1 - Gedit :
Gnomeグラフィカルシェルの通常のエディター。
良いこと:
- 軽量;
- カスタマイズ可能;
- Pythonのサポートがあります。
- 追加のプラグインで簡単に拡張できます。
悪い点:
- 低い信頼性(まだフリーズすることがありますが、その後フリーズする前の状態に戻すには問題があります)。
- プロジェクト管理サポートなし;
- gitとの統合はありません(いくつかのプラグインがありますが、それらを正しく使用する方法がわかりません)。
結論:小さなスクリプトの編集には非常に適していますが、大きなプロジェクトではほとんど使用できません。
候補2- エリック :
Eric Python IDE
良いこと:
- フルIDE;
- 柔軟な設定。
- Pythonサポート。
- プラグインの機能を拡張することが可能です。
悪い点:
- インストールするには、QTが必要です。
- かさばる;
- 他のIDEと同様に、慣れるまでの期間が必要です(マスターされていません)。
結論:一見、本格的なIDEです。 思いやりのあるインターフェイス。 あなたがそれに慣れるなら、おそらく便利でしょう。
候補3 - Emacs
カスタマイズ可能な機能が豊富な禁欲的なエディター
良いこと:
- 軽量;
- カスタマイズ可能;
- Pythonおよび他の多くの言語のサポートがあります。
- 簡単に拡張できます。
悪い点:
- 無限に調整でき、完全にセットアップすることはできません。
- 多くのキーバインディング。
- 使用開始の高レベル。
結論:この時点でこのエディターを使用します 。 設定が難しく、使い慣れていない、後から別のエディタを使用するのは非常に困難です(短時間でも)
なぜ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