56

率直に言って、私は宗教戦争を始めたくありません。

私は覚えている限りviを使用してきましたが、 Emacsを手に取ろうとしたことが何度かありました。しかし、多くの人は Emacs が非常に強力だと感じています。そのプログラマビリティはやや伝説的です。私は主に Solaris+Java の開発を行っています。簡単な質問をしたいと思います。Emacs について理解するために時間を費やすと、生産性が向上しますか? Vimよりも提供される機能は、合理的な時間枠で生産性の向上に見返りが得られるでしょうか?

繰り返します: 「私の編集者はあなたの編集者よりも優れています」という答えは望んでいません。時間を投資する価値があるかどうかについて、はいまたはいいえの答えが欲しいだけです。私の生産性は本当に向上しますか?

4

29 に答える 29

43

[免責事項:個人的には、Vim の方が好きです。免責事項 免責事項: 読み進めてください。]

Vim は小さいことに優れています。モーションとアクションを別々の概念にし、複雑な繰り返し機能を提供することで、キーストロークの短いシーケンスで信じられないほど強力な編集操作を実行できます。Vim では、通常の編集過程で、Emacs でスクリプトを作成する必要があるようなことを簡単に行うことができます。また、使用するほとんどの機能はすぐに使用できるため、大規模なカスタマイズを行ったとしても、 Vim のインストール.vimrcで生産的に作業できる可能性があります。

Emacs は広い範囲で優れています。UI の概念をすべて Elisp の基本的な構成要素と概念に直接マッピングすることで、特定の種類のファイルや状況に対応する機能をグローバルに導入することが非常に簡単になり、Emacs をテキストベースのようなものにし、より構造化することができます。プログラム可能な形式の Excel。これは、個人のニーズや好みに合わせて環境をカスタマイズするために多くの時間を費やすことを前提としています。もちろん、Emacs は、あなたがやりたいことすべてのために、その 1 つの環境内にとどまりやすいように最善を尽くしています。

結局のところ、どちらが優れているわけではありません。それらはさまざまなスタイルを提供し、あなたの傾向に応じて、どちらかがあなたの個人的なニーズや考え方に適しています. もちろん、両方 (さらに多くの編集者) を知ることは常に役に立ちます。しかし、この方法やその方法で生産性が大幅に向上することはありません。

于 2008-09-16T11:31:45.367 に答える
35

私はviよりemacsの方が好きですが、どちらも快適です。

emacsでviよりも強力にすることができることがいくつかありますが、それらのすべてがプログラミングに関連しているわけではありません。(vi内からメールを送信したり、ニュースを読んだりできますか?いいえ、でも誰が気にしますか?)lispに慣れている場合(私はそうではありません)、アドオンやモードなどを作成して、生活を豊かにすることができるかもしれません。簡単ですが、それは構文の色付けとブレースのマッチング、そしてそのような目の保養になる可能性があります。

私は今、とりとめのないことをやめます。emacsを使用すると生産性が向上しますか?いいえ。

更新:以下の私のコメントを参照してください。これを投稿してから、 emacsを使用することでviを使用するよりも生産性が向上する方法出くわしました。

于 2008-09-07T01:39:54.957 に答える
29

viは包丁です。

vim は本当に素晴らしく、鋭く、バランスのとれたシェフズ ナイフです。

Emacsはライトセーバーです。

ほとんどの場合、私の仕事では野菜を刻む必要があります。ときどき、ロボットの軍隊全体と戦わなければなりません。

Emacs を 20 年間使用しています。私は現在、Firefox のテキスト ボックスにテキストを出し入れできるようにする「It's All Text」というウィジェットを使用して Emacs に入力しています。私は Emacs で本当に速く動くことができます。それがないと、生産性が大幅に低下します。

これには非常に議論の余地がありますが、Emacs を学ぶことでプログラミングについて驚くほど多くのことを学ぶことができるとも思います。

于 2008-09-16T06:33:51.853 に答える
27

コーディング方法によっては、生産性が向上する場合があります。背景として、私は長年のvimユーザーでもありますが、約2年前にemacsを学び、現在はそれらを同じ意味で使用しています。

私が実際にemacsを学ぶようになったのは、一度に多数のファイルを開いて、それらを簡単に切り替えることができる便利な機能でした。たくさんのクラスを追加して触れた機能を紹介している最中です。(これはC ++だったので、通常はクラスごとに2つのファイルがありました。)まだインターフェイスを強化しているので、別のファイルを変更する必要があることに気付いたとき、通常は1つのファイルを更新している最中です。

gvimを使用すると、ファイルごとに新しいウィンドウを開くのが最も簡単で、扱いにくくなり始めていました。ただし、Emacsでは、同じウィンドウ(Ctrl-x、Ctrl-f)で新しいファイルを開くのは簡単でした。Emacsでファイルを開くと、開いているバッファー(Ctrl-x、Ctrl-b)を簡単に切り替えることができます。

さらに一歩進んで、1つのemacsセッションで多くのウィンドウが開く可能性があるため、ウィンドウを垂直に分割するだけでなく、ファイルの作業を中断することなく、ファイルの横にある別のウィンドウを開くことを決定でき、効果的に並べて作業できます。各ウィンドウをデフォルトの80文字の幅に保ちながらサイド。

vimで簡単にできること(ブロック選択モード、単純なマクロ記録、差分モードなど)と、Emacsで簡単にできること(行の配置、ファイル/バッファー管理、ウィンドウ/画面管理)がまだいくつかあります。したがって、私は、予想する編集タスクに応じて、2つを交互に使用する(場合によっては両方を同時に使用する)ことに気付きます。

それでもわからない場合は、試してみることをお勧めします。Emacsチュートリアルを実行し、それを使用して朝または1日のコードを記述し、ヘルプに大きく依存します。それでも表示内容が気に入らない場合は、vimを使用してください。エディターがテーブルに何をもたらすかに関係なく、ツールに関する知識と知識は、生産性において最も重要な要素になります。

于 2008-09-07T02:43:24.510 に答える
17

私は聖戦は望んでいませんが、非常に主観的な質問にはイエス/ノーで答えてください。

はい、強力な機能により、生産性が向上する可能性があります。

いいえ、emacs で使用されるパターンとメタファーがあなたの脳と一致しない可能性があるため、生産性の向上は見られません。

于 2008-09-07T01:34:46.983 に答える
13

あなたの質問に対する短い答えは、「はい」です。詳細は以下をご覧ください。

私は 1980 年から 1991 年にかけて vi をほぼ独占的に使用していました。私が vi を使用しなかったのは、小さすぎて vi を含めることができない Unix の最小インストールを扱っていたときだけでした。元の vi がその上に構築された編集機能の最小限のサブセット。

1985 年頃から、私が働いていた他のプログラマーは常に emacs を称賛していました。しかし、私がそれを学ぼうとするたびに、私はそれほど遠くには行きませんでした. 私は 1 時間かけて emacs チュートリアル (Ch t) を読み、最後には、テキストを挿入して変更し、画面を移動する方法しか知りませんでした。その時間に emacs を使って学んだことよりも vi を使えばもっと多くのことができるので、切り替えることができませんでした。3 か月後、時間を見つけてさらに 1 時間費やし、結局同じ資料を読むことになりました。Emacs には、大文字の "L" を持つ学習曲線があります。他の全員が emacs を使用する契約を結ぶまでは、一度に 1 時間以上を費やす必要があると最終的に判断したわけではありません。チュートリアルと付属のドキュメントに取り組むだけで 1 日強を費やした後、vi ではできなかったことが emacs ではできるようになりました。それ以来、私は二度と戻りたくありませんでした。スリープ状態でも vi コマンドを入力できますが、emacs を使用するとさらに多くのことができます。

vim ではなく、emacs と vi を比較していることを理解してください。私は vim が vi に追加した拡張機能を知ったことがなく、それらの多くは emacs からコピーされた機能である可能性があります。もしそうなら、そしてあなたがすでにvimに習熟しているなら、emacsはあなたにとってそれほど多くの利点を持たないかもしれません.

私が emacs で常に依存しているものは次のとおりです。

  1. emacs を使用すると、すべてがテキストとして扱われます。これは、ほぼ同じコマンドを使用して、任意のバッファー内の任意のデータを操作できることを意味します。また、バッファーが標準コマンドの一部が使用できないモードになっている場合は、基本モードで実行されている別のバッファーにテキストをコピーして、そこで標準コマンドを使用できます。

  2. Emacs は、文字セル端末で表示可能なマルチ「ウィンドウ」環境を提供します。ビットマップ グラフィックスや実際のウィンドウが登場する前の時代、emacs は、ASCII 文字とカーソル位置だけを使用してウィンドウのような動作をシミュレートするように作成されていました。あなたはおそらく、「それは古代の歴史だ。なぜ今日それを気にする必要があるのか​​?」と考えているでしょう。私は今でもその機能を毎日使用しています。SSH アクセスを許可する Web ホスティング会社を使用しています。そのため、インターネット経由で Linux ホストにログインし、シェル コマンドを実行できます。これは非常に強力ですが、emacs を使用してターミナル エミュレータを「ウィンドウ」に分割し、それらの「ウィンドウ」のいくつかでシェルを実行し、他のウィンドウでファイルを編集し、さらに別のウィンドウでディレクトリを表示および編集できるようになると、はるかに強力です。ウィンドウズ"。

    実は、前の段落で「ウィンドウ」と言ったとき、本当は「バッファ」を意味していました。Windows の Emacs の文字セル エミュレーションは、画面の領域を分割する方法です。emacs バッファーは、現在表示されているかどうかに関係なく、コンテンツ (ファイル、bash シェル、ディレクトリ、ファイルに関連付けられていない任意のテキストなど) に関連付けられています。バッファーの内容を表示するには、ウィンドウを選択して、表示するバッファーを指定します。そのため、画面に表示するスペースよりも多くの作業を行うことができます。これは、ウィンドウをアイコン化/アイコン化解除するときに、最新のビットマップ グラフィックス GUI で行うこととほぼ同じです。

  3. emacs バッファー内でシェルを実行できるという事実については、既に触れました。シェルを実行するバッファはいくつでも持つことができます。シェル バッファーとテキスト ファイル間でテキストをコピー アンド ペーストしたり、シェル バッファーとテキスト ファイル間でテキストのコピーやテキストの比較に使用するのとまったく同じキーストローク シーケンスを使用してテキストの一部を比較したりできます。テキストファイル。実際、これは、シェル バッファーやファイルに関連付けられたバッファーだけでなく、ほとんどの種類のバッファーに当てはまります。

  4. emacs のコマンドを使用してファイルを開くが、選択したものが実際にはディレクトリである場合、バッファーは dired (ディレクトリ エディター) モードで実行されます。このモードでは、1 回のキーストロークで、現在カーソルが指しているものがファイルであれサブディレクトリであれ開きます。dired モードのバッファーはファイル マネージャーです。これは、Mac または Windows エクスプローラーの Finder に類似した文字セル ターミナルです。

  5. 私がほぼ常に使用している emacs 関数の 1 つに「compare-windows」があります。私はこれを、コマンドラインの「diff」や、Eclipse に組み込まれているような GUI 比較ツールよりも非常に好みます。Diff または Eclipse はファイル全体を比較し、どの行が異なるかを示します。しかし、非常によく似た 2 つの異なる線がある場合はどうなるでしょうか。次の点を考慮してください。

    この行と他の行の違いは何ですか?

    この行と他の行の違いは何ですか?

    違いを見つけるのにどれくらいかかりますか?(ヒント: ASCII と Unicode のアポストロフィはよく似ています。)

    異なる行を表示するだけの diff や Eclipse とは異なり、emacs の「compare-windows」機能は対話型です。2 つの横に並んだウィンドウのそれぞれで、ウィンドウの内容が同じポイントにカーソルを置きます。「compare-windows」を実行すると、各ウィンドウのカーソルが異なる最初の文字に移動します。ウィンドウの 1 つでカーソルを他のウィンドウと同じ位置に移動し、"compare-windows" を再実行して次の違いを見つけます。これにより、ファイルの一部を簡単に比較できます。

    私が定期的に「compare-windows」を使用するもう 1 つのことは、チェックサムの比較です。多くのソフトウェア プロジェクトは、tarball の MD5 ハッシュを含むページでアプリケーションの tarball を配布します。では、配布ページの MD5 ハッシュと、ダウンロードしたファイルから計算された MD5 ハッシュを比較するにはどうすればよいでしょうか。Emacs はこれを簡単にします。

    まず、MD5 ハッシュを Web ページから新しい emacs バッファーにコピーします。次に、.tar.gz ファイルをダウンロードした後、次を実行します。

    md5sum ダウンロードしたファイル.tar.gz

    シェルバッファで。これらの 2 つのバッファーが横に並んだ emacs ウィンドウに表示されている状態で、各ウィンドウのチェックサムの先頭にカーソルを置き、"compare-windows" を実行します。それらが同じである場合、各ウィンドウのカーソルは各チェックサムの最後に配置されます。

  6. 前のポイントで、次の行で「compare-windows」を実行する例を示しました。

    この行と他の行の違いは何ですか?

    この行と他の行の違いは何ですか?

    「compare-windows」は、カーソルを各行のアポストロフィに置いたままにします。これで、どの文字が異なるかがわかります。しかし、彼らは何のキャラクターですか?2 つのキーストローク コマンド CTRL-x = を入力すると、emacs は文字、その 8 進数、10 進数、16 進数の ASCII 値、ファイルの先頭からの文字オフセット、および行の先頭からの文字オフセットを表示します。ASCII は 7 ビットのエンコーディングであるため、すべての ASCII 文字の上位ビットはオフになっています。最初のアポストロフィの値が 0x27 で、2 番目のアポストロフィが 0x92 であることを確認すると、最初のアポストロフィーが ASCII 文字セットにあり、2 番目のアポストロフィがそうでないことが明らかです。

  7. Emacs は最初の IDE の 1 つであり、おそらく最初の IDE でした。特定の言語用のモードがあります。コードに一貫したインデントを課して読みやすくするのに便利です。コードをコンパイルおよびデバッグするための組み込み機能もあります。私はコンパイル機能をあまり使用しません。C のようなコンパイル済み言語用に書いていたときは、シェル プロンプトでそれを行うことに慣れていたからです。デバッグ機能は、C および C++ にとって非常に優れていました。現在の Eclipse のデバッグ機能とほぼ同じ機能が得られるように gdb をエディターに統合しましたが、最新の GUI ベースの IDE のように画面の領域を無駄にしませんでした。理論的には、デバッガーの統合は他のほとんどすべての言語に簡単に適用できるはずですが、私はまだ'

  8. Emacs では、いつ入力内容を記憶し始め、いつ停止するかを Emacs に指示することで、マクロを作成できます。これは、頻繁に行うタスクに対して非常に強力です。

  9. Lisp を知っていれば、Emacs は無限に拡張可能です。しかし、Emacs Lisp を学んだことはありませんが、Emacs は今まで使った中で最も強力なツールの 1 つです。

  10. Emacs のキーバインディング。私は、Emacs のキー割り当てがうまくいかないことを認めた最初の人になります。しかし、それは私がこれまで使ってきたどの製品よりもはるかに強力なので、キーバインドに我慢したいと思っています。

  11. ユーモラスな話ですが、何年も前に、Emacs の作者である Richard Stallman (GPL の創始者、GNU プロジェクトの創設者、FSF の創設者でもある) は、vi 対 emacs を聖戦として扱う人々を風刺しました。彼は Emacs 教会のキャラクター「Saint IGNUcius」を発明しました。その形で、ストールマンは次のようにコメントした。 vi は罪ではなく、苦行です。」(http://stallman.org/saint.htmlを参照。彼のかわいい写真もありますが、私は StackOverflow を初めて使用するため、複数の URL を投稿することはできません。同じドメインに移動して、ただし、ファイル saintignucius.jpg を取得します)

于 2011-02-03T05:01:16.987 に答える
10

Emacs のドキュメントは森です。私が Emacs から Vim に移行したのは、Vim のドキュメントがいかに整理されているか、そして多くの機能がいかにコード化可能であるかに気付いたときです。Emacs の専門家の行く先に何があるのか​​はわかりませんが、Emacs で役立つことを学ぶには長い時間がかかり、nethack が上手になるわけではないことを警告しておきます。Vimに固執します。

Textmateは Mac 用のより優れた Emacs ですが、Solaris では役に立ちません。Eclipse はちょっとクールで、たくさんのプラグインがあります。

于 2008-09-07T01:39:18.750 に答える
8

Emacs will provide a productivity gain if you're willing to learn and customize it to fit your needs. Most people are not. To increase your productivity you must use the tool for more than simple editing - most people never progress past simple editing.

Here's a quick test: have you customized your window manager to make your environment more efficient (tailored to fit your needs)? If 'no' then likely you will not get the ROI by learning emacs.

That being said, if you're developing Java, Eclipse is the standard answer, so your question is pretty moot.

于 2008-09-12T16:47:26.793 に答える
7

私は自分の Vim にとても満足していましたが、org-modeのことを聞いてから Emacs を学び始めました。org-mode は、Emacs を学習する強力な理由の 1 つになる可能性があります。

于 2010-06-17T17:32:01.533 に答える
5

私はemacsが大好きで、毎日使っています。

とはいえ、学習コストが生産性の向上によって取り戻されるとは思えません。

Java をプログラミングしている場合は、優れた IDE が必要です。Emacs はその 1 つに向けてかなり進んでいますが、正直に言うと、IDEA などは圧倒されました。(emacs はおそらくこれらの IDE の多くに影響を与えましたが、それは別の話です)。

于 2008-09-07T17:56:37.247 に答える
4

私はEmacsを2回学ぼうとしました。それは私の脳の働きに合わないので、私はそれを使いません。

Emacs(またはvim)はvim(またはEmacs)よりも大幅に優れているわけではありません。どちらにも、すばらしいことを実行できるようにするための多くのオプションがあります。Emacsでできることはすべて、Vimでもできることは間違いありませんが、標準ではありません。

Emacsを試してみてください。それがよりよく合うかどうか見てください。それは負けない状況です。

于 2008-09-29T03:24:21.603 に答える
3

emacsをさらに調べたいのですが、長期間使用することはできません。それは私の手を傷つけます。私はひどく間違ったことをしていますか?

于 2008-09-07T02:35:34.293 に答える
3

vim と emacs は、最も有能なエディターであり、かなり長い間使用されています。あなたが本当によく知っているなら、私はあなたがその過程でそれほど多くを得ることはないと思います...

ただし、いくつかの新しいプラグインは生産性に驚異的な効果をもたらす可能性があるため、利用可能なプラグインを調べることは常に良い考えです.

/ヨハン

于 2009-01-20T21:04:31.093 に答える
3

いいえ(そして私は両方を使用しました)。

于 2008-09-07T01:32:47.003 に答える
2

宗教戦争を探さないという同じ方針に沿って(しかし、あなたがしなければならないと感じたら、先に進んで私に反対票を投じてください)、なぜviの唯一の選択肢はemacsだと思いますか?それはあなたが開発したOSなのか、それともあなたが探求したオプションだけなのか?

Java開発環境は、コード編集とリファクタリングのサポートに関しては最高ではないにしても、最近では最高のIDEのいくつかを楽しんでいます(無料と有料の両方)。IntelliJIDEAには、自宅にいるように感じるのに役立つviプラグインもあります。たとえば(Eclipseで同様のものが利用できるかどうかはわかりません)。ツールの変更は学習曲線を意味しますが、飛躍が十分に大きければ、それを行うために費やした時間はそれだけの価値があるかもしれません。

于 2008-09-07T23:13:32.743 に答える
2

どのくらい速くタイプしますか?あなたが狩りをしてつつくなら、emacsはあなたのためではありません。あなたの速いトーなら、それはあなたのマウスをいつもつかむ必要がないのを助けることができます。

于 2008-09-29T03:13:03.610 に答える
2

一般に、emacs は vi よりも強力です。emacs ではもっと多くのことができます。

于 2012-03-05T13:17:41.903 に答える
1

私の生産性は本当に向上しますか?

最初の数日/週は、絶対にありません。

何かを編集するたびにチュートリアルを読む必要がなくなった後は、確かに..

Emacsvimよりも「強力」であり、スクリプトエンジンははるかに柔軟性があり、emacsを中心に構築されたスクリプトやモードなどがはるかに多くあります。

そうは言っても、その逆が当てはまります。vimの知識を向上させるために同じ時間を費やした場合、同じように生産的になる可能性があります。

同じように生産的ではないかもしれません-vimはファイルを編集するのに速いと思います、emacsは他のすべてを行うのに優れています(繰り返しflymake-modeますが、VCSバインディングはvimの同等のものよりも使いやすいです)

于 2009-06-10T18:44:37.600 に答える
1

Emacsを学ぶ良い理由の1つは、他のプログラムもEmacsキーバインディングを使用しているためです。たとえば、bashプロンプトでEmacsキーバインディングを使用したり、GNUreadlineを使用したりすることができます。他のプログラムで使用できるように、Emacsの基本的な動きと単語/行の削除および元に/やり直しのコードを学ぶのは良いことです。Emacsを二度と使用しない場合でも、これらの他のツールの生産性は向上します。

私はVimとEmacsを知っています、そしてVimは私の脳と私の習慣によりよく適合します。しかし、他の人々はEmacsについて同じことを主張しています。試してみないと、自分で知ることはできません。Emacsを十分に習得して、気に入ってもらえるかどうかを確認するのにそれほど時間はかかりません。

于 2008-09-29T03:00:09.633 に答える
1

私は Alan Storm に同意します。

これは非常に重要な要素です。異なる脳は、異なるインターフェイスに異なる方法で適応します。

私が本当に Emacs を気に入っている主要な (そして簡単に利用できる) 機能のいくつかは、生産性を向上
させるものだと考えています。 vi / Vim にこれがあるかどうかはわかりませんが、ほとんどの Java IDE にはありません)
2. Ctrl キー ナビゲーション マッピング - これにより、矢印キーを使用するために手を離さずにファイルをナビゲートできます。(もちろん、他のエディターでのキーバインディングは役に立ちます)
3. ほぼすべてのプラットフォームで利用可能 (もちろん vi/Vim にも当てはまります) - GUI ベースかテキストベースかに関係なく (Java IDE はほとんどのプラットフォームでも利用できますが、GUI モードでのみ利用できます) 、非常に大きく、個別にインストールする必要がありますが、Emacs は一般的により広く利用可能です - BSD / *nix / Linux / Mac システム
4. エディターは、必要になるまで邪魔にならないようにしたい - Emacs の質素なディスプレイは、タイプする前に考えさせられる。
5. Emacs の基本的なナビゲーション キーは、どこでも利用できます。私の Mac OS では、ターミナルや Mac メールなどでこれらのキーを使用できます。

最終的に、Emacs の哲学に魅力を感じた場合は、それを学ぶために余分な努力を払うことになります。そしてそれはあなたに報いるでしょう。

于 2009-08-01T18:35:09.923 に答える
1

テキスト エディタのプログラミングに時間を割くと、生産性が向上します。2 つのエディターのうち、emacs はより優れたフレームワークまたは一定のカスタマイズを提供します。テキスト エディタをプログラミングしない場合は、使い慣れたものを使用してください。

于 2008-09-07T03:22:32.870 に答える
1

vi/Vim と Emacs は、できることとできないことの点で非常に近いため、これら 2 つのエディターの生産性は使用経験から生まれます。

私の意見では、プログラマーとして Emacs を使い始めると、Emacs の概要を理解するのにそれほど時間はかかりません。他の人が言えることはそれだけです。それを知るには、自分で試してみる必要があります。

私の場合、両方使っています。それは、戦争に複数の武器を持っていき、適切な状況で適切な武器を使用するようなものです。;)

于 2009-03-29T05:40:11.630 に答える
1

私は Emacs が好きです。必要に応じて拡張できます。私の目には、自分で拡張できるシステムはどれも賞に値するものです。

于 2011-02-04T00:34:56.083 に答える
1

免責事項:私は無知です。私は約 4 年間 emacs ユーザーであり、約 6 か月間 vim ユーザーです。私がそれを学ぼうとして嫌いになった回数を数えると、おそらく 15 か月ほどです。(執筆モードと移動モードの区別は私を殺します。毎回。だから、それがあなたを殺さないなら、私の意見は完全に無価値かもしれません。)ここにいるので、声を出します。 :免責事項

私の意見:

  • Emacs はタイピングに優れており、特に大規模な「新しい機能を作成していて、それが実行されるかどうかを確認するまでにはしばらく時間がかかります」.
  • Vim は編集、特にクイック編集に適しています。

8つのファイルを同時に理解してハックする必要がある場合、Emacsのプロパティはマルチバッファを備えたタイリングウィンドウマネージャです(バッファはファイルに1.2:1で対応し、多くの場合同じですが、必ずしもそうではありません)。 -検索 (および置換) は信じられないほどです。

シェルのせいでちょっとしたことが気に入らgit diffない場合 (私は emacs の VC 機能をあまり頻繁に使用しませんが、私はそれらを気に入っています)、vim でそれを開いて、私が打つよりも速く地獄を出します。Alt-TAB.

入力中に Emacs の編集コマンドをより簡単に利用できるという事実により、入力は Vim よりもはるかに高速になります。Ctrl+aよりもはるかに高速であり、「私が欲しいか、または...」ESC ^ iという認知負荷はありません。他のすべての移動コマンド コマンドについても同様です。aioO

私は Emacs でタイプするのがますます速くなりました。つまり、組織モード(TODO リスト、バグ追跡、メモ、長いメール、ドキュメンテーションなど、あらゆることに使用します) のような機能は、Vim よりも Emacs の方が (私にとっては) 理にかなっています。

そして、Elisp はひどいものですが、信じられないほど素晴らしいです。これは、Emacs の壊れた正規表現を完全に補います。複数ファイルの正規表現置換を含め、どこでもemacs のフルパワーを使用できます。そしてテキストスニペットで。

于 2012-02-10T17:36:44.727 に答える
1

手の健康が心配な場合は、 Vim を選択してください。

私は過去に RSI の発作に苦しんでいましたが、主な原因の 1 つは「コード演奏」、つまり同時に多くのキーを押し続けることであることがわかりました。Emacs は広範囲にわたってコード化を使用しますが、VIM は一連の短い連続した単一文字コマンドを使用します。これにより、エディターでコマンドを実行するために筋肉をひねったりねじったりする必要がないため、手にかかる負担が大幅に軽減されます。RSIによる怪我は生産性を損なう可能性があるため、計算では必ずこれを考慮してください.

于 2011-03-26T11:19:15.960 に答える
0

切り替える理由は本当にわかりません。私は長い間viを使用していて、非常に快適です。約6か月ごとに、emacsをインストールして試してから、すぐに元に戻します。はい、私がviについて非常に好んだことがありましたが、私がそれに固執しなかった主な理由は、非常に有能な編集者をすでに知っているときに別の編集者を完全に学ぶための時間投資は価値がないためです。
私はこのかなり古い研究を思い出します。

私の意見では、すでにviに習熟している場合、SLIMEがemacsに切り替える唯一の理由です。

于 2008-09-29T03:31:13.880 に答える
0

いいえ

私は何年もemacsを使用していて、VIMからの変換者であり、ビットへの変換が大好きです。

しかし、より優れたプログラム可能なエディターを使用することで得られる生産性は、emacsのコツをつかむために必要な膨大な量の頭の痛いことによって完全に一掃されます。これはコンソールエディタとして設計されており、インターフェイスのアイデアはあなたのものではありません。

そして、あなたがそれを完全に手に入れたとしても、あなたの余分な生産性は主にあなたが書くことができる余分なemacslispで表現されます。

誰も気にしない?それはとても楽しいです、そしてLispは犬です!「物事を成し遂げたい」なら、プログラミングを忘れてください。あなたはいつでもプログラマーを雇って「やること」をすることができます。

生産性の理由からemacsを学ぶことをお勧めする唯一の状況は、あなたがlisp / schema/clojureプログラマーである場合です。それはとても良いLisp環境を作るので、あなたが何かをしたいたびにそれがあなたを節約する数秒はすぐに本当の利益になります。そして、あなたがすでに本物のlispを使っているなら、elisp(ExcelマクロがALGOLに立つのでlispに関連して立つ)ははるかに異質ではないように見えるでしょう。

試してみる場合は、エディターを配置するための適切な方法のように感じられる仮想コンソールで使用してください。それが理にかなっている場合にのみ、それと戦うウィンドウシステムの下でそれを使用してみてください。

于 2012-02-10T10:23:45.383 に答える
0

以前の回答で、Aristotle Pagaltzis は次のように書いています。

vi だけを 10 年以上使用した後、Emacs に切り替えました。最初は、「Vim では、通常の編集過程で、Emacs でスクリプトを作成する必要があるようなことを簡単に実行できる」という主張に同意したでしょう。しかしその後、Emacs のマクロ機能と大量の繰り返し回数を使用することで、vi によって簡単になったほとんどすべてのことを Emacs で簡単に実行できることを発見しました。

Emacs のマクロ機能には、次の 3 つのコマンドが含まれます。

C-x (       start remembering keystrokes
C-x )       stop remembering keystrokes
C-x e       replay the remembered keystrokes

たとえば、vi<a>で HTML ファイル内のすべてのタグを検索してtarget属性を追加したい場合、次のようにします。

:g/^<a/s/>/ target="_blank">/

<a>この例は、すべてのタグが単独で 1 行に並んでいることを前提としているため、完全ではありません。しかし、2 つの異なるエディターで同等のタスクを達成する方法を説明するには十分です。

emacs で同じ効果を簡単に実現するために、次のようにします。

1.  C-x (
2.  M-C-s <a\>
3.  C-b
4.  C-s >
5.  C-b
6.   target="_blank"
7.  C-x )
8.  C-u 10000 C-x e

上記の各キーストロークの動作の説明は次のとおりです。

1.  start remembering keystrokes
2.  regex search for <a.  Note that the "\>" after the "a" is not HTML.  It's emacs regex notation for end-of-word.
3.  back up one character - as a side-effect this gets you out of search mode
4.  search for the next ">"
5.  back up over the ">"
6.  enter space as an attribute-delimiter followed by the target="_blank" attribute
7.  stop remembering keystrokes
8.  replay the remembered keystrokes 10,000 times or until the search fails

複雑に見えますが、実際に入力するのはとても簡単です。そして、このアプローチを使用して、Lisp コードに落ち込むことなく、vi ではできない多くのことを行うことができます。

于 2012-06-27T02:19:56.717 に答える