web-dev-qa-db-ja.com

Emacsは私をより良いプログラマーにしてくれるでしょうか?

Steve Yeggeは 彼のブログへのコメント を書きました:

世界の偉大なエンジニアはすべてEmacsを使用しています。ワールドチェンジャータイプ。あなたの隣の立方体の偉大なギャルではありません。フレッド、ホールの下の素晴らしい男ではありません。私は、私たちの職業の最も偉大なソフトウェア開発者、つまり業界の顔を変えたソフトウェア開発者について話しています。ジェームズ・ゴスリングス、ドナルド・クヌース、ポール・グラハム、ジェイミー・ザウィンスキー、エリック・ベンソン。本物のエンジニアはEmacsを使用します。あなたはそれを上手に使うには賢くなければならず、それをマスターできれば信じられないほどパワフルになります。あなたが私を信じないなら、彼がいつか働く間、ポール・ノードストロームの肩越しに見てください。これは、Visual Blub .NETのようなIDEをキャリア全体で使用している人にとって、本当に目を見張るものです。

Emacsは100年の編集者です。

コードを書くために最後にテキストエディタを使用したのは、約1000年前にまだメモ帳でHTMLを書いていたときです。それ以来、多かれ少なかれIDEに依存し、Visual Studio、NetBeans、IntelliJ、Borland/Codegear Studio、Eclipseをキャリア全体で使用しました。

それが価値があるので、私はhave Emacsを試しましたが、すぐに使える発見可能な機能がまったくないため、私の経験はいらいらしました。 (どうやら他のEmacsコマンドを発見するためのEmacsコマンドがありますが、それは私が見つけることができませんでした-それはあなた自身の残酷な禅のようなジョークを生きているようなものです)代わりに、ドラッグアンドドロップのGUIデザイナー、IntelliSense、および対話型デバッグを使用することにしました。

事実とファンボイズムを区別するのは難しいので、私はまだYeggeのコメントを額面どおりに受け取るつもりはありません。

IDEに依存する人々と依存しない人々の間で、スキル、生産性、またはプログラミングの楽しみに測定可能な違いはありますか、それとも単なるファンボイズムですか?

131
Juliet

まず、私はEmacsのカルトを自称している真の信者です。

とはいえ、ブロガーは非常に重要です。役に立つと思うものを書きます。 Emacsが私を助けてくれるのは、主に大学時代に自分のニーズに合わせて修正する方法を学び、そのニーズに合わせて自分自身を修正するための初期費用を前払いしていたためです。

しかし、他の人は違うやり方で、「大丈夫」と言っているように。

121
Brian Postow

彼(スティーブ・イェッジ)は、彼の他の投稿で、これについて少しずつ詳しく説明しています。 http://steve-yegge.blogspot.com/2008_04_01_archive.html はおそらく最も包括的なものですが、主な主題に接しているため情報はそこに埋もれています。

要約すると思います:単にgoodまたはcompetent IDEを取得し、それを本当によく理解し、おそらく十分にそれを行うが、彼らはIDEが提供するものに自分自身を制限する言い換えれば、彼らはIDEに適応します。greatプログラマーは、一方で、environmentthemselvesに合わせて、スクリプトや独自のツールを作成したり、ツールを拡張したりします。そしてその最後の点まで、Emacsはmost拡張可能な環境であるだけでなく、easiestそこに拡張する環境があり、それはあなたがそれを拡張することから最もbenefitを享受する環境です-あなたの拡張ストック機能のようにEmacsに統合します。したがって、将来の拡張機能が以前の拡張機能に基づいて構築される可能性があります(ポジティブフィードバックループのようなもの)。

104
Nietzche-jou

最高のプログラマーはviまたはemacsを使用します。これは、経験豊富なプログラマーが最高であり、20年前にはviとemacs以外に選択肢がなかったためです。

テキスト端末が非常に遅いマシンでvi(約1987年)を開始した後、数年後に(GNU)Emacsに変換し(高速マシンで)、ほぼ10年間ほぼ排他的に使用しました。

Emacsは真に統合された最初の開発環境でした。編集/リンク/コンパイルサイクル全体をemacsで制御でき、使用するコンパイラに合わせて独自のロールを作成できます。

最近では、EclipseなどのIDEはさらによく統合されています(正直に言って、emacsはグラフィックスを嫌います)が、Emacsは依然として「純粋な」テキスト編集に最適な環境の1つです。

56
mfx

あなたの明確な思考と問題解決を改善することはあなたをより良いプログラマにするでしょう。プログラムはそれをすることができません。

より良いハンマーを使用しても、方法と理由がわからなければ、より良い家を建てることはできません。 ;)

34
Jas Panesar

YeggeはBill Joyに会う必要があります。彼は世界の偉大なプログラマーの1人であるだけでなく、多数のviも書いています。 viで.

短い恥ずかしい告白:20年にわたってvi(および近年ではvim/gvim)をすべてに使用してから、昨年かそこらでEclipseをJava編集(およびThunderbird電子メール)、現在の仕事ではマシンのメモリが非常に少ないので、デバッガが必要な場合を除き、通常viを使用します。

21
Paul Tomblin

IDEに依存する人々と依存しない人々の間で、スキル、生産性、またはプログラミングの楽しみに測定可能な違いがありますか?

これをVisual Studio対Emacsに絞り込みましょう。そうでないと、質問は広すぎます。ほとんどの人(少なくともここではStackOverflow)は、これら2つに精通していると思います。 [私は、そして私はemacsを使用し、好む]

次に、質問の3つの要素を分類しましょう。

プログラミングの楽しさは、主にプログラミング自体が好きであり、二次的には迷惑な要素が現れないことです。あなたが苦労しているツールを使用すると、楽しさから差し引かれます。だから、あなたが好きで使い慣れたツールを使用することで楽しさが最大化されると推測します。

もちろん、いったん新しいツールに慣れると、そのツールが好きになり、したがって、newお気に入りのツールを使用してプログラミングを行う方が好きになることがあります。一般的に人々がVS over emacs(またはその逆)を両方ともよく知っているとき、それが好きであることは私には明らかではありません。

次に、プログラミングスキル。スキルとVS/emacsの選択との間に何らかの関連がある場合、選択を引き起こすスキルではなく、選択を引き起こすスキルであると思います。私の経験では、{VS、emacs}はどれもbetterコードを書くことについて何も学ばないようです。

優れたツールを使えば、同じコード(したがって、同じ品質コード)をより短い時間で書くことができます。 productivity = quality of code `times` code per time、その後、より短い時間で優れたコードを記述できるエディターは、生産性を向上させるのに理にかなっています。

私はVSにあまり慣れていないかもしれませんが、ここではemacsにはVSにはない強みがあると思います。ばかげているように聞こえるかもしれませんが、Ctrl-[fbnp]は本当の恩恵です。つまり、矢印キーに手を動かす必要はありません。別のこと:改行を含む検索または置換を行うことができます。これは頻繁に使用するので、見逃したくありません。

もう1つ気に入っているのは、エディターにシェルを埋め込む機能です。私の経験では、Windows以外のプラットフォームでははるかに価値があります(そして、私の最初の「プログラミング」エクスペリエンスであるIIRCはDOS .batファイルを書いていたので、私はただの熱烈なファンボーイではありません)、しかしそれらのプラットフォームでは大きな勝利です。 emacsを「すべて」と「統合」します(find/locateによるファイル検索、grepによるテキスト検索、svn/git/hg/...によるバージョン管理、名前を付けます)。

最終判断-emacsを学ぶべきかどうかそして、それはすべてファンボイズムですか?時間があるなら、同じことをする新しい方法を学ぶ価値は常にあると思います。なぜなら、新しい方法はあなたにとってより良い結果になるかもしれないからです。そして、あなたがそれを初めて知ったときのように見えるもののためにそれを拒否しないことをお勧めします。その意味では、Dvorakキーボードレイアウトに切り替えるようなものです。最初は速度が遅くなりますが、速度が上がると、少なくともqwertyと同じくらい速く、より快適になります。新しい(プログラミング)言語の学習にも同じアプローチをお勧めします。語彙(標準ライブラリ)がわからないので、物事は難しいと言いますが、報酬はまだあなたを待っています。

13
Jonas Kölker

「世界で最も優れたエンジニアは全員Emacsを使用しています」で始まる引用テキストで、私はそれを額面どおりに受け取らないでしょう。彼は世界の偉大なエンジニアをすべて知っていますか?それはあなたや私が持っている世界最高のエンジニアのリストと同じですか?

EMACSやviなどの強力なエディターを使用すると、効率が向上します。お気に入りのIDEがなくても、たまたま見つけた場合は少なくとも効率が向上します。

「一度学んだ」部分がキラーです。これらのツールを生産的に使用することは多くの作業と練習であり、最初は非常に困難です。

10
John

私は個人的にはEmacsのファンですが、Emacsは単なるツールです。素晴らしいペンがあなたをより良い作家にする以上に、あなたをより良いプログラマーにすることはありません。

「偉大なプログラマー」が自分の環境を自分自身に適応させるという明確化にはいくつかのメリットがあるかもしれませんが、多くのツールがそれを行うことができます(例えば、vimやSlickEdit)。

おそらく本当のことは、「偉大なプログラマー」はプログラミングに情熱を傾けており、それに情熱を持っている人はその情熱を促進するツールを見つける傾向があるということです。 Emacs(およびvimやSlickEditなど)はそのようなツールです。

9
Joe Casadonte

違いがあるとは思わないが、それは好みの問題だ。

しかし、私が気づいたのは、コーディングが長くなるほど、またはコーディングするレベルが低くなるほど、emacsまたはviを使用する可能性が高くなることです。

8

IDEは過去10年間で大幅に改善されましたが、programmingい詳細の一部からはほど遠く、少し安全な「バブル」にプログラミングが含まれています。起こりがちなのは、この抽象化の増加により、より多くのプログラマがより少ない知識でより多くのことを行えるようになることです。もちろん、それはすべてのプログラマーに当てはまるわけではありませんが、より簡単なツールはプログラミングをより多くの人々にもたらします。

下位レベルのツールに関する知識が増えると、コードの安定性が向上することがよくあります。これは、誤って「穀物に逆らう」機会が少ないためです。 EMACSが唯一の主要な指標であると列挙するのは不公平です。なぜなら、それはあらゆる言語とツールに由来し、実際には特定のテクノロジーではなく理解の深さに関するものだからです。

振り返ってみると、UNIXボックスでVIまたはEMACSを習得したか、PCに特化しています(VMS、CMS、AS400などもありましたが、それらは古いテクノロジーでした)。どちらのストリームも非常に熱心な人々を惹きつけましたが、UNIXの人たちは洗練されたソリューションを望み、PCの人たちはすぐにそれを望んでいました。文化は非常に異なっていました。

8
Paul W Homer

IMHO IDEは特定のプラットフォームまたは言語またはOSを中心に最適化される傾向があります。EclipseJDTはJavaに最適であり、Visual StudioはC++ /。NET中心などです。そのプラットフォームですが、プラットフォームを変更する場合、基本的に新しいIDE(または少なくとも新しいプラグイン、ビュー、パースペクティブのセット、そしてEclipseの他に何がわからないか)を学ばなければなりません。

Emacs、またはTextmate、vim(私の個人的な好み)、またはgenericエディターを知っていることの利点は、そのエディターで習得したスキルが、作成しているプラ​​ットフォームに関係なく適用されることです。 テキストの編集向けに最適化されており、一度マスターすれば、どの言語でも非常に効率的にテキストを編集できます。

また、優れたプログラマーはツールを作業スタイルに適合させるのではなく、作業スタイルに適合させるというYeggeの主張もあります。 one editorをカスタマイズするので、4つの異なるIDEをすべての動作に合わせて調整するのではなく、これが汎用エディターのメリットだと思います。

7
Sam Stokes

私は、最高のプログラマーは環境をカスタマイズするのに時間がかかるプログラマーである傾向があり、彼らがする可能性のあるタスクをより速く/より簡単に実行できると主張します。 Emacsは、環境のカスタマイズに関して最も強力なエディターの1つです。それは急な学習曲線を持っていますが、あなたがそれを過ぎたら、あなたがあなたのために何をすることができるかに実質的に制限はありません。

かつて誰かが、最高のプログラマーは怠け者だと言っていました。それらは、一度何かをする必要があると、それを自動化する方法を見つけて、それがより少ない労力で済むようにします。 Emacsを使用すると、非常に怠け者になることができます;)

6
RHSeeger

私は最初から(おそらく、QBASICから始めて)IDEを使用してきました。すべての開発作業で、ほぼ完全にVIM(さまざまなフレーバー))に切り替えましたが、後悔することはありません。私の生産性は確実に向上しました。

もちろん、Visual StudioのWindowsフォームデザイナーに代わるものはありません。しかし、VIM(およびEmacs、私は確信している)と比較すると、Visual Studio内のテキストエディターは本当にお粗末です。コンソールの生のパワーとGNU開発者ツール(つまり、make、GCC、binutils、およびgdb、そしていくつかのツール)は、これらのツールが原始的に見えるかもしれませんが、ちょうど反対で、実際にIDEが提供するすべてのツールを提供します(フォームデザイナを除く)。

これらのツールを最初に使い始めたとき、非常に急な登りをしているだけで、インセンティブは小さいかもしれません。私は幸運にもこれらのツールの使用を余儀なくされたので(?)、イタチをやめることができなかった。

4
Konrad Rudolph

いいえ、良いコードはあなたをより良いプログラマにします。

とは言っても、効率的なテキストの操作は重要です。 vimまたはemacsのいずれかを使用すると、テキストの操作方法が変わります。どちらも効果的であることが証明されていますが、スタイルの点では互いにほとんど対立しています。また、この議論はかなり古く(テキスト->コンパイラが重要だった80年代および90年代に戻って)、他の多くのテキストエディターやIDEがあり、あなたが最高のプログラマーになるのに役立ちます。

3
Overflown

私にとって、IDEではなくEmacsを選択する主な理由は、キーボードからすべてを実行できるからです。これは、通常使用する時間を節約できるという点で素晴らしいまた、私は非常に機動性に優れているため、遅いタッチパッドを使用しているため、プログラミングの "溝"が中断される傾向があります。 IDEとすると、Emacsの学習曲線は面倒な価値がないと言えます。

3
Anton

個人的には、生産性を高めるものなら何でも使用すべきだと感じています。 Emacsに座って学習するためのプロジェクトに投資する時間がない場合、その時点での時間の最適な使用法ではないでしょう。

ただし、十分な時間があるときに他のIDEについて知ることをお勧めします。日々の仕事でVisual Studioを使用していますが、自宅では小さなプロジェクトにEclipseを使用し、 Emacsも同様です。 Emacsの使用を検討した特定の時点では、Emacsでのレスリングを遅くするよりも、実際の作業を完了するために私の努力が役立った。

最高のプログラマー全員がEmacsを使用していると考えるのは、ある程度不合理だと思います。 Emacsを使用しない、あまり人気のない(またはボーカルのような)すばらしいプログラマーがたくさんいます。

3
jamesmillerio

いいえ。emacsを使用することでより優れたプログラマーになると信じている場合、原因と結果が混乱していることになります。

ただし、私は毎日使用しています。 Java開発用のEclipseよりもemacs + mavenのほうが生産性が高いことがわかりました(ただし、時々Eclipseを時々起動して、時々リファクタリングまたはデバッグセッションを行います)。

これらは私の理由です:

  • Emacsでの実際のテキスト編集体験は、他のすべてを凌beatします。キーボードだけを使用してこれほど多くのことを達成できるのは驚くべきことです。 Eclipseはよりマウス指向であり、入力すると多くの刺激的な障害が発生します。
  • Elispを使用してemacsをカスタマイズできることは非常に強力です。初歩的なelispを学び、環境をカスタマイズするために時間を取っていないのであれば、単に時間を無駄にしていると言ってしまいます。
  • テキストエディターで実行したい事実上、すべての拡張機能があります。
3
fred-o

1年半前にEmacsを使い始めたのは、いくつかの要望が合流したためです(正規表現を(それらをサポートするエディターで)使いたい、LISPを学びたい、より良いエディターが欲しかった)。

正規表現を使用してコードを編集すると、コード内のパターンを見つけることについて多くのことを学びました。キーストロークは慣れるまで時間がかかりましたが、マウスを使わずに飛ぶことができました。

Emacsを使用すると、同じアプリケーションでメモとコーディングを操作できます。最小限のコンテキストスイッチングは最小限の頭脳スイッチングを意味し、手元のタスクに集中できます。

3

間接的ではありますが、Emacsはあなたをより良いプログラマにすることができると思います。 Emacsが実際に関数型言語( Elisp )を書くようになったのは、他の関数型言語( Clojure )これは私がより良いプログラマになると言われています。とはいえ、時間が経てばわかると思います。

2
Justin Abrahms

いや.

規律、批判的思考、自己改善への欲求があなたをより良いプログラマにします。ツールセットは生産性の主要な要因ですが、天才を生み出すことはありません。

Emacsやviが気に入らない場合は、使用しないでください。意識しない選択をすることにより、開発環境を自分のニーズと仕事の慣行に合わせて形作ります。いずれにしても、あなたは好きなものを使用する権利があります-そして、ディスクにビットを書き込むために使用するツールに対してあなたを怒らせるほど愚かな人を無視します-それは重要なビットです。

注:ここでの「ツールセット」とは、文字通り、ツールの「ブランド」-特定のエディター、コンパイラなどを意味します。概念的なツールセット、たとえばバージョン管理の使用、単体テスト-すべて全般-は一部です自己改善プロセスの。

2
Rob

私はそれがあなたをより良いプログラマーにするだろうとは思わないが、あなたがそのレベルを持っているとき、あなたはたぶんemacs(またはvi)を使うだろう

:-/

これら2つの良いところ(私は以前にemacsを使用したことはありませんが、最も日常的なタスクにはviを使用しています)は、あなたの邪魔をしないという事実です 思考の列 、あなたはしませんキーボードから手を離してマウスをつかみ、正しいオプションを探すためにファイルメニューを探します。あなたはただ書き続けてください。あなたの心の中で、「この単語の出現箇所をすべて置き換えて」と言って、Enterキーを押して作業を続けます。

その上、彼らがemacsを使用するのは彼らの唯一のツールだとは思わない。

プログラマーになりますか?おそらくない。しかし、そのレベルの専門知識があれば、おそらくこれらのツールを使用してコードを作成できる速さが気に入るでしょう。

2
OscarRyz

IDEに依存する人々と依存しない人々の間で、スキル、生産性、またはプログラミングの楽しみに測定可能な違いがありますか、それとも単にファンボイズムですか?

あなたは本当にそれに対する答えを得ることができるとは思わない。スキル、生産性、プログラミングの楽しさを測定する方法は非常に多くあり、それらはすべて非常に主観的であるか、または原因の1つに分解することはできません。

それはまだ興味深い質問です。

私の個人的な信念は-プログラマー次第です:)

Gマン

2
GeoffreyF67

Emacsにより、テキスト操作とファイルシステムナビゲーションの効率が向上しました。そして、これらの両方が私がプログラムするときに関係しているので、それは私をより効率的な(したがってより良い)プログラマーにしました。

2
Steve

あなたがこれを聞かなかったことは知っていますが、emacsの学習(予想外)は、コマンドラインの操作でした。 emacsのキーバインドを学ぶ前は、カーソルキーを使用してカーソルを移動し、履歴をナビゲートしていました。 backward-Wordmove-beginning-of-line、およびbackward-kill-Word(私は常にC-wにバインドしていたことに気づいたとき、それは電球の瞬間のようなものでした スティービーが示唆するように )in bashM-tも有用であることが多く、これまで見たことのない人にとって最も印象的です)。

ルートシェルが「posixシェル」であり、デフォルトでemacsバインディングを持たないSolarisで、かなり多くの作業を行っています。ログインするたびに、自分の指がexec bashを入力するようになったので、今では慣れ親しんだ編集コマンドを指で操作する方がずっと速く感じます。

認めなければならないが、私はまだクヌースの本が難しいと思う(それだけの価値はあるが)-だから、プログラミングが魔法のように改善されたとは思わない。

2
Tom Dunham

Emacsの優れた機能の1つは、あらゆるサイズのあらゆるファイルタイプを処理できることです。確かに、クレイジーで巨大な暗号化されたファイルを開く場合、それは必ずしも有用ではありませんが、開きます。ほとんどのエディター(およびIDE)は、ファイルが大きすぎたり、期待される形式ではないファイルを渡した場合、大きな苦痛を与えます。

例として、メモ帳で1 Gigファイルを開いてみてください。

私は1980年頃にEmacsを使い始めましたが、それは常に私のツールボックスのツールでした。これはonlyツールではありませんが、常に役に立つものであり、有用な作業を完了することができることを知っています。

必須の炎症性のコメント:一方、viについて良いことはありません。私は、viが私を幸せに殺して、臓器をただ売り切れるだけだといつも思っていました。

実際には、ほとんどすべての開発形態でNetbeansを使用し、時々編集を行うためにemacsを使用しています。今のところ、何かおかしなことをするということになると、emacs(私にとって)ほど便利なものはほとんどありません。

コンパイルされたバイナリ実行可能ファイルの静的文字列を編集する必要がある人はいますか? emacsよりもそのようなことのためのより良いツールはありますか?それは確かに私のために動作します。

2
Bob Cross

someカスタマイズ可能なエディターを使用できると、気の利いたことをすることができますが、特にemacsは必ずしも最も良いものとは限りません。私は自分でSlickEditユーザーです。emacsで有名な、それと同じ奇妙な半自動化されたものをすべてやっています。 viやさまざまなWindowsベースのエディターで同じようなことをする人を見てきました。

ソケットセットは適切ですが、CraftsmanがOne True Socket Setを作成していると主張するのはちょっと馬鹿げています。

1
mjfgates

Emacsキーバインディングとその組み込み関数をマスターすると、EclipseやVisual StudioなどのIDEよりも高速にテキストを操作できます。

私の言葉を信じないで、これらのビデオ Emacsを使用するプロ をチェックしてください。

Emacsで適切なレベルに達したら、任意の言語を効果的に編集できます。Javaスクリプト、Java、Ruby、Python、HTML、C、C++など。

Emacsの使用を開始するのは苦痛ですが、箱から出してすぐに使用できるのは悪いことよりも悪いことです。 Emacsのデフォルト設定では、Emacsの初心者がEmacsのより強力な機能(hippie-expand、etags、yasnippetsなど)にさらされることはありません。 Emacs Starter Kit ドットファイルから始めることをお勧めします。

Steve Yeggeが世界最高のプログラマーがEmacsを使用していると主張するもう1つの理由は、elispです。 Elispを使用すると、経験豊富なプログラマがEmacsを簡単に拡張できます。 EclipseまたはVisual Studioで拡張機能を記述するのは、elispでクイック関数や新しい マイナーモード を記述するよりもはるかに困難です。

1
Justin Tanner

私は、VIやEmacsなどのこれらのテキストベースのエディターを使用することは、「偉大なプログラマー」になるために非常に期待されているか、必要であるという大きな誤解を信じています。 IDEは常に強力であり、かつてはそうであったと感じていました。

1
Bryan

いや

私たちは皆、人生のさまざまな道を歩き、問題をさまざまな角度から見ています。

優れたプログラマーになるためには、エディターはあなたをより良くすることはできませんが、他のものはあなたのプログラミングスキルをより良くします。しかし、あなたが役に立たない間違ったツールは、プログラマーとしてのあなた自身の進化を実際に妨げる可能性があることに注意してください。

または、大工の例を挙げると、偉大なハンマーは偉大な大工をそれ以上良くすることはできませんが、悪いハンマーは彼が最善を尽くすのを止めることができます。

/ヨハン

0
Johan

開示:ほとんどの場合、emacsを使用します。

必ずしもemacsを使用するかIDEを使用するかを選択する必要はないと思います。 IDEで「emacs」を使用できます。 emacsを使用すると、キーバインディングを指で覚えてしまえば、非常に生産性が高くなり、他のエディターでは無力に感じるでしょう。しかし、多くの---悲しいことにすべてではない--- emacsキーバインディングがIDEで利用できる場合、生産性は著しく向上し、emacsの学習に費やした時間を感じない無駄になりました。

Eclipse用のemacsプラグインを試してみたところ、非常に使いやすいことがわかりました。もちろん、完璧ではありません。しかし、コード補完やリファクタリングなどのIDEを使用することのすべての利点を得ることができます。このプラグインがより多くのemacs機能を提供するように改善されることを望みます。

残念ながら、emacsについては時代に追いついておらず、プログラマーはそれに固執することで多くのことを逃してしまいます。

ただし、scalaでプログラミングし、emacsが好きな人は、emacsに ensime パッケージを使用して、IDE機能---構文エラーの強調表示、コード補完、パッケージの参照、型検査、リファクタリング、デバッグなど。

0
Babu Srinivasan

私はemacsから始めましたが、viに切り替えましたが、シンプルであるため、よりエレガントになりました。また、シングルユーザーモードでスタックしている場合、edコマンドはviコマンドのサブセットです。 emacsがそれを処理できるかどうかはわかりません。

その点で、viはあなたをより良いプログラマーにすると思います。

0
klyde

「あなたが投稿したテキストはただの荒らしです。そうです。宗教戦争を始める以外の理由はありません。」

引用に同意します。

プログラマーの真の付加価値は、そのプログラマーが使用するエディターにあると信じている人は誰でも、バカです。

本当に価値のあるプログラマーの真の価値は、そのプログラマーに間違ったエディターを与えることによって減少する可能性があると信じる人は誰でも、ばかです。

(そうそう、ここに形式的な論理の演習を含めることができます-これらの命題を共通の論理と一致させるために真理値を追加します:) ==> good(programmer)(FORALLプログラマー:good(programmer)===> usesEMACS(programmer))===>(FORALLプログラマー:usesEMACS(programmer)===> good(programmer))

(そして宗教戦争に関しては:)本当に価値のあるプログラマーはすべて、EMACSではなくISPFで育てられました。

0
Erwin Smout

まあ...私にとっては、生産性と楽しさの問題です。

インテリセンス、統合デバッガーなど、あなたが言及したすべてのものをEmacsに追加できます。好みに応じて追加できます。ニーズに合わせて構築された環境になります。これにより、使用する機能を最も簡単に利用できるようになるため、生産性が向上します。これはまた、パワープロセスを変更し、それにより意識を高めることができるので、あなたの楽しみを後押しします。

さらに、視覚的なツールでは使用できない機能、つまりキーボードの適切なサポートを利用できます。単一の視覚的IDEキーボードのサポートが適切な場所で試してみました。マウスの使用は遅いです。専門家のインターフェイスが必要です。「おばあちゃんのインターフェイス」ではありません。 IDEは専門家のインターフェースとなることを目的としています。マウスはプログラマーにとっての専門家のインターフェースではありません。それは、初めて。

Emacsをもう一度試してみるべきだと思います...始めるためのいくつかのヒントがあります:

M-xを使用すると、ミニバッファーにコマンドを入力できます

便利なコマンド:

  • apropos:特定の文字列に関連するすべてのコマンドをリストします
  • describe-function:コマンドの機能を説明します
  • where-is:特定のコマンドのキーボードショートカットを検出します
  • global-set-key:カスタムショートカットを特定のコマンドに関連付けます

便利なキーボードショートカット:

  • C-x b特定のバッファーを1つ選択します
  • C-2バッファを水平に分割
  • C-3バッファを垂直に分割
  • C-o分割時に他のバッファを選択します
  • C-0バッファーの分割解除
  • C-は、カスタムショートカットを定義する場所です。

便利なアドイン:ctagsのサポート。関数/クラス定義にジャンプできます。

  • ido-mode-ミニバッファーオートコンプリートモードでの補完が向上
  • cua-mode-Windowsのような切り取り、コピー、貼り付け、取り消し
  • pc-selection-mode-シフト矢印選択
0

私は大学でemacsを使用しました。それは約16年前です。私は振り返っていない。まだemacsに慣れていればいいのにと思いますが、実は私は自分のMS IDEでかなり生産的です。

投稿したテキストは単なるトロールです。うん。宗教戦争を始める以外の理由はありません。

0
Tim

彼は少なくともある程度正しいと思います。他の人が指摘したように、IDEのエディターは、vimまたはemacsに比べてある程度制限されています。同時に、本格的なIDEが(たとえばsshセッションを介して)動作する可能性がない場合は、vimとemacsの両方を使用できます。マウスの場合、これは非常に優れた機能です-少なくとも2倍の速さで簡単に実行できます。ただし、少なくともまともなタイピストでない限り、この恩恵を受けることはできません(BTWは、 Yeggeは彼のブログで非常に明確に書いています、あなたはうまくタイプしなければなりません)。

ViとEmacsの比較は、GNOMEとKDEのme。 Vi(およびその方言/実装)との比較のように聞こえます。非常に普遍的に利用可能な(すべてのUnixで)エディター。一方、Emacsでは、IMOは同じことをより困難な方法で行います。習得するには時間がかかりますが、偉大なプログラマーがそれを使用しているので、習得した後も気分が良いと思います:-)

しかし、テキストベースのエディターがあるときに仕事を成し遂げるために、Viは簡単に使い始めることができます。おそらく、Emacsは最終的にLISPを学習する動機を与えます。これは、willプログラミングの方法を間違いなく変更します。それは間接的な効果です、IMO。

0
user59634