18

私が見たものから。emacsなどはターミナルで実行されます。これには何かメリットがありますか?物事を書いたり整理したりするのはもっと面倒なようです。私は主観的なことをしようとはしていません。私は文字通りemacs、vim、nanoなどについて何も知りません。もっと知りたいのですが、おそらくそれらの1つを使用してください。

4

9 に答える 9

24

あなたの質問は難しいものです。彼らがターミナルで実行しているとしても、それは彼らの主な利点ではありません。私は今EmacsとVimについて話している。要するに、彼らは少なくとも20年(Vim)以上(Emacs)存在していて、かなり活発なコミュニティを持っており、スクリプト化できるので、方法を知っていれば、ほとんど何でもできます。非常に強力です。

彼らはかなり大きな学習曲線を持っているので、あなたはおそらく、熟練する前に、数ヶ月ではないにしても、数週間それらをいじくり回してしまうでしょう。それらを学ぶ主な動機は生産性です。たとえば、メモ帳と比較して、最小限のキーストロークでかなり驚くべきことができます。

試してみてください。あなたがそれを好きなら、しばらくそれを使い続けて、痛みに耐えてください、そしてあなたは利益を見るでしょう。まるでジムに行くようなものです。

于 2010-11-02T06:17:02.907 に答える
13

最近はほとんどの人がIDEを使っています。彼らはあなたがすでに書いたものの分析を通してあなたが得ることができるものを助けます。そのようなものは非常に便利で役立つ可能性がありますが、実際にコードを編集するというコアタスクには実際には役立ちません。ツールメーカーが頼りにしているのは、これらの余分なものが、編集者としてのvimやemacsの効果を上回るのに十分なメリットを提供するということです。彼らはほとんどのコミュニティでその戦いにほぼ勝ちました。これは主に、新しい開発者が優れたコード補完と使いやすいリファクタリングサポートのどちらかを選択することに直面し、約6か月間メリットが見られないエディターが簡単な方法。私はやったことを知っています。

私は今vimの男です。Vimは実際には同じ生産性の上限を持っているようには見えません。私はそれを1年以上使用していますが、半定期的にそれについて知らなかったことが私を速くします。それがなくても、使用すればするほど、自分がしていることについて考えることが少なくなり、これもまた私を速くします。また、vimはすべての言語とプラットフォームに存在し、そのままのUNIXサーバーにインストールされます。ロード画面がなく、事実上画面にジャンプし、大きなファイルで素晴らしく動作し、速度が低下したりクラッシュしたりすることはありません。プラットフォームを変更すると変更されるIDEとは対照的に、それを使用して習得するスキルは、これまでのキャリアのすべてに適用できます。

Vimは投資ですが、残りの人生のほとんどで1日8〜10時間使用するものについて話している場合、学習曲線は完全に無関係になります。

于 2010-11-03T00:36:42.380 に答える
9

nanoを使用する本当の理由はありません。ほとんど何でも良いです。

vimとemacsに関しては、前回これが出たときに私が言ったことは次のとおりです。

私はviキーバインディングにある程度精通していますが、全体的にEmacsを好みます。これらの編集者がそのような熱心な支持者を持っている理由は、彼らが提供する編集モデルが新しいシステムよりも強力であるためです。そのため、拡張機能を使用していなくても、「viキーバインディング」または「emacsキーバインディング」を提供するだけでは不十分です。またはemacsまたはviのカスタマイズ。

私はそれを最もよく理解しているので、Emacsのモデルについてのみ話します。今日のテキスト編集の一般的なモデルには、テキストのバッファが含まれます。このバッファで、テキストの挿入、削除、選択、およびシステムクリップボードへの切り取り/コピー/貼り付けを行うことができます。

もちろん、Emacsバッファーはこれらの操作をサポートできます。それらが表示されている各ウィンドウのカーソル位置を追跡するだけでなく、それらに作成された「マーク」も追跡します。「ポイント」(カーソル位置)と「マーク」の間のテキストは「リージョン」と呼ばれ、主流のエディターでの選択にほぼ対応します。

違いは、Emacsがマークリングでマークが設定された最後のいくつかの場所を追跡し、キーストローク(構成によっては2つ)でそれらに戻ることができることです。特に、バッファ内の場所を変更する多くのEmacsコマンドが古い場所にマークを設定するため、これは非常に便利です。例として、Pythonモジュールを編集していて、ファイルの先頭にimportステートメントを追加する必要がある場合があります。バッファの先頭に移動するためのキーストローク(Alt- <)は、マークを設定します。importステートメントを追加します。Ctrl-u Ctrl-Spaceを押すと、最初の場所に戻ります。これを続けて、前の位置に戻ることもできます。(たぶん、そのインポートステートメントを追加するときにテキストを選択する必要がありました。)

他の(そしてもっとよく知られている)Emacsの違いはキルリングです。バッファからテキストを削除するためのほとんどのキーストロークは、テキストをキルリングに保存します。キルリングは、「yank」コマンド(Ctrl-y)で呼び出すことができます。重要な機能は、後続のyankコマンドが古い強制終了テキストを取得することです。したがって、テキストのいくつかのセクションを連続して削除してから、それらを順番に取得できます。ヤンクの後にAlt-yを使用してキルリングを循環し、取得したテキストを削除して、リングに次のエントリを挿入することもできます。

Emacsは1978年にこれらの機能を備えていました。これらをある程度採用する他の主要なシステムはNeXTStep(そして現在はCocoaに継承されています)だけです。他のツールは、特定のタスクに対してより多くの機能を提供し、Emacs Lispよりも使いやすい言語で拡張でき、より優れたビジュアルインターフェイスを備えています...しかし、Emacsはテキスト編集に優れています。そのため、使い方がわかればやめるのはとても難しいです。

于 2010-11-02T14:53:21.333 に答える
6

Vimロック

Vimは習得するのが難しいですが(使用したいコマンドを覚える必要があります)、私が見たどのIDEやGUIエディターよりもはるかに強力です。

vimの秘密の一部は、最終的にはKen Thompson自身が作成したed(1)テキストエディタから継承したラインモードです。これは非常に強力です。リファクタリングに使用でき、スクリプトに配置することもできます。これは、正規表現パターンの置換に基づいています。

そして、このすべての力で、それは古い学校のターミナル/ xtermアプリであるため、即座に起動し、検出可能な遅延はありません。

私は何度もIDEとGUIエディターに切り替えましたが、vimに戻ってきます。今回はそれに固執して回り道を避けようと思います。


ノート:

IDEがリファクタリングをサポートしている場合、それがIDEを使用する理由です。私はそれを複雑な編集タスクの例として使用しています。

驚くべきことに、vimはRSIと戦い、手をよりリラックスさせるのに役立つようです。コマンドは変更されていないキーであるため、コントロール、メタ、コマンド、ブレットなどを押したまま手首を緊張させる必要はありません。

于 2010-11-02T06:36:37.717 に答える
4

VIM / Emacsを使用することで(大まかに)2つのことが得られます。

  1. カスタマイズ性
  2. 彼らはどこでも走ります

どちらも学ぶのに時間の投資が必要です。しかし、他のエディターを使用してそれらを学ぶと、劣っていると感じます。

于 2010-11-02T06:24:04.873 に答える
3

EmacsとVimは、私が考えることができる最も洗練された多目的ソフトウェアです。

これは、プレーンテキストファイルがすべて(コード、スクリプト、構成、プロセスなど)に使用されるUNIX環境で作業する場合に特に当てはまります。

これらのツールは習得するのに少し時間がかかり、習得するにはさらに時間がかかりますが、そうすると、一日中予期しない生産性が得られる可能性があります。

私は1990年頃に両方を使い始めました。20年後、それらは私のリストの一番上にあります。これらは、マシンを構成するときに最初にインストールするツールであり、現在のIDEが動かなくなったときに、いつでも一歩先を行くことができます...何千ものファイルの名前を変更したり、テキストファイルやその他のテキストの複雑な再フォーマットを適用したりすることを検討してください指向のタスク。

于 2010-11-02T22:42:01.780 に答える
2

emacs-そして、おそらく、vim-にはいくつかの利点があります:

  1. より多くの画面の不動産。
  2. 真の究極の拡張性
  3. 最小限のメモリ使用量。35 MB未満のRAMを使用して、複数のリモート編集ファイルを含む100を超えるファイルを開いています。
  4. コンピュータを再起動するかemacsをアップグレードする必要がない限り、Emacsを閉じる必要はありません。私は通常、単一のemacsプロセスを数週間続けて実行します。
  5. 簡単に変更できます。必要に応じて、DSLのハイライトモードを1日で打ち消すことができます。多かれ少なかれ機能するインデント付き。そして、私はemacsがそれほど得意ではありません。
  6. キーを簡単に再マップして、個人の手の形や好みのキーボードの形をサポートできるため、手が簡単になります。
  7. 信頼性のある。一度emacsを強制的にクラッシュさせたかもしれません。
  8. アクセスできる場所ならどこでも実行できます。おそらく、一部の古いIBM390システムはそれを実行しない可能性があります...

私はVisualStudioとEclipseをいくらか使用しました。彼らはemacsほど生のテキスト編集が得意ではありません。それらはかなり遅く、サポートする言語が少なくなります。

emacsに関して私が耳にする唯一の意味のある異議は「インテリセンスなし」です。そこで編集するときは、VS /EclipseIntellisenseを使用しません。さらに、私が言えることから、emacsのオートコンプリートメカニズムは優れています。(たとえば、変数名の自動補完)。

もちろん、それは学習曲線を必要とします。emacsの場合、1か月の毎日の使用で、日常の使用に適した能力が得られると思います。

于 2010-11-02T22:41:25.910 に答える
1

Vimには膨大な数のコマンドがあり、繰り返し実行するタスクにそれらが十分でない場合は、独自のコマンドを定義できます。ただし、これらのコマンドの数が非常に少ない場合は、Vimを効果的に使用できるため、開始するための学習量はそれほど多くありません(ただし、数日間は手探りします)。正規表現検索に基づいてコマンドを適用することもできます。これは、複雑な条件を満たすすべての行に特定の変更を適用する場合に非常に便利です。最近Vimでコーディングしないなんて想像もできません。

于 2010-11-02T14:13:40.497 に答える
1

私はviをよく使用します(xserverを起動するのが面倒でなく、起動が速いため、現在仕事で使用しています)が、それを学ばなければならなかったからです(そして「それ」とはコマンドのかなり小さなサブセット)何年も前は、ファイルをリモートで編集したり、時にはgeditや利用できないものをリモートで編集したりするのに便利です。

昔のために、私はemacsを再開して、どれだけ嫌いなのかを確認しました。その後、虎の巻をグーグルで検索して、閉じる方法を教えてもらいました。ですから、直感的ではないと言っても過言ではないと思います。

使いやすいGUIを使用してそこに座るよりも、難解なキーの組み合わせを使用して黒の端末で緑を処理する場合、自分をNeo(Matrix)と考える方がはるかに簡単だと思います。

于 2010-11-02T14:08:35.330 に答える