web-dev-qa-db-ja.com

Emacs / Vim / Textmateを選ぶ理由Xcodeは十分ではありませんか?

こんにちは私は主にC++、Objective-Cプログラミングを行っています。そして、Xcodeと自動補完/マクロプラグイン(Completion Dictionary)が非常に適切であることがわかりました。

しかし、すべての人が純粋なテキストエディターを高く評価しているようです。 Textmateを少し試しました。そのシンプルさが好きですが、そのファイル/フレームワークの扱いは嫌いです。

ここで何か不足していますか?または、VimやEmacsはXcodeと同等のオートコンプリートを備えていますか?

58
ivanTheTerrible

椅子の息子を引き上げて、これについて話させてください。

Xcodeの時代の前には、VIMとEmacsがありました。想像するのは難しいことですが、それは本当です。

多くの人がVIM/Emacsに慣れ、それを使い続けています。

Emacsは非常にカスタマイズ可能であり、(組み込みの縮小やハノイの塔を含む)想像できるほとんどすべてのものを提供します。 Emacsからコンパイラを簡単に呼び出し、必要に応じて独自の拡張機能を作成できます。

VIMには信じられないほどの正規表現エンジンがあり(Emacsも同様)、(VI)にはほとんどすべてのUnix OSが付属しており、矢印キーがない場合(そうそう、本当の古い学校)は非常に便利です。マウスを使わずに、キーを使用してドキュメント内を移動するのが得意です。

Emacsについても同様ですが、私にとってはVIMの方がカーソルの動きがはるかに簡単だと思います。

テキストエディター戦争は、Mac対PC戦争と同じくらい宗教的熱狂を煽っています。答えは、あなたに最適なものを選ぶことです。 Xcodeが気に入った場合は引き続き使用してください。ただし、PCまたはLinuxマシンでの作業を余儀なくされた場合は、幸運を祈ります。個人的には、Emacsを使用してコードを記述し、VIMを使用してテキストを操作し、Firefoxを使用してlolcatsを表示しています。

183
Alan

人々がテキストエディターについて話すとき、なぜemacsが支持されるのか本当にわかりません。私の経験では、viよりもEclipse(または他のプラットフォーム/ IDEの1つ)に似ていますisan environment、これはたまたまテキスト編集に適しています。

IDE emacsは、バージョン管理、ライブコンパイル、スペルチェック、オートコンプリート、デバッグ、コードブラウジングなど、さまざまなSDKの機能を備えています。残りのコンピューティングニーズについては、メールです。/news/web/irc/Twitter/xmmpクライアント、カレンダー、オーガナイザー、電卓、端末エミュレーター、リモート編集、スプレッドシート、ゲームなど。

Dijkstraの後:「Emacsは天文学より望遠鏡よりもテキスト編集にすぎません」

15
remvee

不足しているのは、EmacsとVimが実際にはIDEであることです。

11
Svante

viはUNIXシステムの至る所にあり、Emacsはほとんどそうです。私の知る限り、Xcodeは1つのプラットフォーム上にあります。

強力な機能を持つことIDEは素晴らしいことですが、誰もが落とし込む可能性のあるプラットフォームで機能を維持するために、スキルを少しずつ持っている必要があります。

8
dcw

それはすべてあなたの好み次第です。

(g)vim、emacs、picoなどの軽量テキストエディターで作業したい人もいます。MSVisual Studio、Eclipse、XcodeなどのIDEで作業したい人もいます。

ご使用の環境がテキスト編集テクノロジーと互換性がある限り、それはすべてあなた次第です。

ちなみに、私はEclipseとvimを使用するのが好きです。なぜなら、それらは私がプログラミングを学ぶために使用したものだからです;)

5
codingbear

Emacs/Vimのような人がコード補完のためだと思う主な理由は、次のとおりです。 Emacs/Vimのような人々は、両方ともテキストを編集するためにMADEを使用しています。他の編集者にはないコントロールとオプションを利用できます。これらのプログラムのいずれかを本当に使いこなせるようになったら、これらのキーバインディング/コマンドをどこでも使用できるようにします。マクロ、正規表現、検索/ Word /段落/関数による移動、バージョン管理とのインターフェース、複雑な元に戻す/やり直し、コピー/貼り付け関数、および拡張オプションは、これらのエディターが実際に実行することのほんの一部です。

コード補完は、プログラミングを簡単に作成できる多くの機能の1つにすぎません。 Emacs/Vimはそれらすべてを処理することができます(ネイティブまたは拡張)。

4
user151339

いいえ、そうでもありません。本当に好みの問題です。 Visual Studio 6での作業が好きでしたが、最近の新しいバージョンは肥大化しています。したがって、VSの外で何かを実行できる場合は、通常、IDEボックスを開かずに実行します。

Windowsでは、notepad2とgvimが好きです。 vimを自分のニーズに完全に合うようにカスタマイズしたので、何をどこで考える必要はありません。

ただし、多くのユーザーがvim/emacs/...を使用しているため、このような投稿を読んで自分で把握することもできます。実際の使いやすさ。したがって、それがあなたに合わない場合は、使用しないでください。誰もあなたのことを間違った方法で見ないでしょう。

3
Rook

私にとって最も重要な2つの機能は次のとおりです。

  • Emacsのキーバインディング。これは私の指と互換性があるためです。

  • オープンソース、それが提供する自由のため。 1つのプラットフォームに縛られているのは嫌悪感です。

最近では、プログラミング(Emacsキーバインディングに設定)にはEclipseを、メールや時折のLaTeXの読み取りにはFSF Emacsを主に使用しています。

3
starblue

私は個人的にemacsが大好きです。私はvimといくつかのIDEを使用しました。 Vimとemacsの両方に、人々がほぼすべての言語の機能をコード化することをいとわない素晴らしいコミュニティがあります。 HaskellをサポートしているIDEについては知りません。それはすべて、あなたにとって何が重要かによって異なります。どちらも拡張言語を持っていますが、IMOですが、emacs LISPの方が優れています。マウスを無視する機能も私が好きな主なものです。そのため、多くのIDEはemacsとvim互換モードまたは拡張機能も備えています。彼らは両方とも多大な時間を投資していますが、どちらも価値があります。遅かれ早かれ、あなたは自分に合ったvim/emacs/IDEを選び、それを使って自分のスキルを向上させることに専念します。

3
Ron

Emacsを使用している場合、 Cedet またはAutocompleteパッケージをインストールして、一部の言語で名前補完を使用できます(C++はかなり良いですが、Obj-Cはまだサポートされていません)。さらに、豊富なエディター機能

2
Alex Ott

emacsは強力です。 emacsをvimpluse.elで使用して、すべてのemacs機能でvimキーバインディングを使用できるようにします。

2
pscyehao

私は主に入力モデルにVimを使用しています。入力モデルに慣れると、マウスを使わざるを得ないエディターに戻ると、ぎこちなく、最終的に(少なくとも私には)苛立たしく感じられます。 「ci」と入力して2つの一重引用符の間のすべてのテキストを変更し、ホーム行から手を離して、マウスでテキストを見つけて選択し、最後に「削除」を押すと、はるかに効率的です。

私はEmacsをほんの少し使っただけで、Vimを好みますが、その機能のいくつかに嫉妬しています。しかし、Emacsが指に不要な負担をかけるために使用するコード入力モデルを見つけたので、最終的にはVimを使いました。

1
FlemishBeeCycle

XcodeとTextMateを持っていますが、非常に強力である可能性があることはわかっていますが、使用していません。代わりに、Vim(またはMacVim)を使用します。どうして ?

それは軽くて、速く、中毒性があり、強力で、カスタマイズ可能なので...私はこのように長い間続けることができますが、最も重要なことは、Vimでやりたいことがすべてできることです。

どんなエディターを使用しても、最高のエディターは(ほぼ)完全にマスターしたエディターです。

1
Taurus Olson

私はコーディングにviを使用していません。ただし、可能な場合は、エディターでviエミュレーションを使用します。 Java IntelliJでコーディングしているときは、IntelliJのエディターでviをサポートするIdeaVIMプラグインを使用しています。つまり、ホーム行から指を離す必要がほとんどありません。キーボード(h、j、k、l)、yy、ddなどを使用した切り取り/貼り付け。もちろん、フル機能のGUIエディターの能力が必要な場合、viエミュレーションではこれらの機能を使用できません。

XCodeのエディターにviエミュレーションがないことに私は気が動転します。適切なIDEに必要な機能のようです。

1

TextMateは私にとってより軽く感じます。私の頭の上から:

  1. ファイル間およびファイル内のメソッド間をジャンプするための優れたサポートがあります。ファイル/メソッドについてはQuicksilverを考えてください。編集用にファイルを開いた状態でcommand-shift-tを押すと、ファイル内のすべてのメソッドがリストされたフローティングパネルが表示されます。入力を開始すると、リストがフィルタリングされます。目的のメソッドを選択してReturnキーを押すと、そのメソッドにジャンプします。 Xcodeにはこのようなものがありますが、文字列マッチングはよりリテラルです。

  2. 多くの組み込みテキスト拡張。トリガーを入力し、タブを押して展開します。たとえば、新しい行でmと入力してからタブを押すと、メソッドが作成されます。その後、タブキーは、挿入されたテキストのさまざまな部分にインテリジェントにジャンプし、その場所で編集できるようにします。これらはとんでもない時間の節約になっています。

  3. SubversionとGitの素晴らしいプラグインサポート。おそらく他のVCSも。

  4. 完了(Xcodeなど)と履歴。 TextMateを使用すると、基本的に、ファイルに存在するすべてのテキストをタブ補完できます。したがって、変数名またはメソッド呼び出しを1回入力すると、タブを使用して、同じファイル内の任意の場所で変数をオートコンプリートできます。

  5. 歴史のあるスマートな過去のボード、ニースの組み込み差分、テーマのサポート、優れたキーボードのサポート、ファイル内での検索、および(RegExを使用した)プロジェクト全体での検索、そしておそらく私が忘れているものより。

とにかく、それで十分です。

1
Kevin

私は長い間vimユーザーであり、Vimエミュレーションをオンにした状態でKomodoの編集が本当に好きだと思います。したがって、私はvimキーバインディング(私が最近作成した最近のMS Wordドキュメントに3つ以上の ":w"が含まれているほど慣れている)に加えて、適切に実装されたコード補完の便利さをすべて得ます。 C++、Python、javascriptなど.

OS X固有のアプリケーションをあまり開発していないため、XCodeを使用していません。したがって、OS Xフレームワークの統合の利点は、vimキーバインディングを持たないことによるコストを上回るほど大きくなく、 Apple=開発に向けたアプローチ).

1
Sobo

私はずっと前にvimを試しましたが、何らかの理由で「私はそれを取得できませんでした」と言いました。その後、何年にもわたって他の編集者を試した後、私は自分のやりたいことを行う編集者がいないようになりました。友人に私の欲求不満を表明した後、彼は私にvimを試すことを勧めました...そして、私は尋ねる方法がわからなかった質問に対する答えだったので、もう一度見直すことができてとてもうれしいです!それ以来、Vim/MacVimを使用しています...

ここに私の構成: https://github.com/RandyMcMillan/QuickVim

Xcodeも使用します。コード補完ができてうれしいからです。 XVimは、Xcodeエディターでモーダル/ vimフィールを必要とするユーザーに適しています: https://github.com/JugglerShu/XVim

しかし、私の毎日のことになると、Vimを編集すると毎回勝利します。私がQuickVimリポジトリを持っている理由は、いつでもどこでも自分の環境をすばやく再現できるようにするためです。

TextMateなどのエディターのライセンスのリストを持っていますが、vimを無料で使用して自分の仕様にカスタマイズできるため、それらを使用することはないでしょう。

0
RandyMcMillan

XcodeはよりIDEですが、emacsとviは純粋なテキスト用です(ただし、それらには大規模な拡張機能があります)。これは、古いシステムまたはSSHを使用している場合に適しています。さらに、XCodeは独自仕様のAppleソフトウェアです。

0
samoz

あなたは私の主題についてのエッセイを見るかもしれません なぜEmacsですか? 。それは多かれ少なかれEmacs中心ですが、その中で行われたいくつかのポイントはvimとTextMateにも適用されます。

0
Bozhidar Batsov

個人的に、私はTextMateが大好きです。これは、実際には非常に軽量なソリューションだからです。確かに、私はVimやEmacsを徹底的に使用していません(GUIが好きです)... Controlベースのカーソルナビゲーションを完全に楽しんでいます(Control-Aは行の先頭、Control-Eは行の終わり、Control- FとControl-Bは順方向と逆方向などです)。したがって、XcodeとTextMateの間で、私の真剣な開発のほとんどにXcodeを使用しますが、ソースファイルをすばやく編集する必要がある場合、Xcodeの起動が完了する前にコーディングしておくことができます(これにより、TextMateが以前に開いたファイルを覚えておくことができます復元します)。したがって、軽量のテキスト編集の場合、TextMateが私の選択です。

その上、TextMateのプラグインサポートは素晴らしいです。 Xcodeが提供していない非常に多くのさまざまなもの(シェルスクリプト、CSS、SQL、LaTeXなど)を完全にサポート(構文の色分け、ビルド、実行など)します。 JavaまたはWebページを調整する)で簡単なプログラムをブラッシュアップする必要がある場合、Vimを使用してターミナルからビルドする方がはるかに簡単です。

TextMateに対する私の唯一の不満は、コンソールが読み取り専用であるため、インタラクティブなものを構築できないことです。それと、それがプレーンCファイルで(ループとブールの)C99キーワードをサポートしていないように見えるという事実。

0
FeifanZ

ここではVimのヘビーユーザー。私は通常、Vi/Vimのテキスト操作機能は、次のようなものが欠けている従来のエディターよりもはるかに優れていると感じています。

  • ビジュアルモード:例コメント付きの5行のプレフィックス//
  • マクロ:例3〜5番目の単語を引用符で囲み、100行繰り返します。
  • 複数のレジスター:36個のレジスターをコピーして貼り付けると思います
  • delete {motion}:例カーソルから次の 'initWithFrame'まで削除

これらは、VimがXCodeのテキスト編集に手を加えているほんの一例です

Objective-Cの場合。私はIDEにVimプラグインをインストールする傾向があります。両方の世界、ネイティブビルド/ UIコンポーネントサポートを利用するためです。

ちなみに。 Emacキーボードバインディング(行の先頭に移動するCTRL-Aなど)は、Macの多くのネイティブ(Coacoa)テキストフィールドでサポートされています。 stackoverflowで回答を入力するために使用しているものを含めます:D

XVim XCodeで動作します。 IdeaVim for AppCode

0
snowbound