web-dev-qa-db-ja.com

プログラマーはEmacsやVimのようなテキストエディターを学ぶ必要がありますか?それらはどれほど重要ですか?

これまで、OSに付属する従来のテキストエディターでコードを記述しているか、IDEを使用する場合があります。Emacsなどの高度なテキストエディターがあることを知っています。およびVimは、コーダーの目的でのみ使用できます。それらは本当に重要ですか?PHPPythonなどを扱うプログラマーは、これらのエディターを学ぶ必要がありますか?利点は何ですか? Notepad++Scribesなどの従来のエディターよりも優れていますか?

43
user22662

Vimは、慣れれば本当に良いツールです。

IDEまたは私が使用したテキストエディターよりも速く起動し、構文の強調表示があり、ほとんどの場合、コードを正しくインデントします。

また、コーディングプロセス自体に集中するのにも役立ちます。マウスをまったく使用しないので、コードを作成するだけで時間を大幅に節約できます。

それはあなたが何をしていても同様に豊富なプラグインを持っています。

私は正直にemacsを使用していませんが、ここにはそれが好きな人がいると思います。個人的には常にCtrlまたはAltを押す必要はありません。

編集

Vimの有用性は、あなたが書いている内容にも依存します。

API開発者(Java、C#など)であれば、おそらくIDEの方が使いやすいでしょう。

しかし、スクリプト(Bash、Perlなど)を作成する場合、何かを速く書く必要があるので、Vimが適しています。Vimは速く、必要なすべてを実行します。

30
Mahmoud Hossam

プログラマーは必ずしも多くのツールを学ぶ必要はありませんが、いくつかのツールを学び、それらをよく学びます。

Emacsとvimにはそれぞれ明確な長所がありますが、定期的に頻繁に使用しない限り、それらのメリットは十分に得られないと思います。特にあなたが学習プログラマーの場合はそうではありません。

あなたはwillですが、優れたIDEの恩恵を受けますが、プレーンでシンプルなエディタを使用して、実際の作業を行うこともできます。

47
user1249

viの重要性は、常にUNIX(SysVおよびBSDフレーバーの両方で標準)またはUNIX-システムのように。ただし、これは vi ではなく、元の vim である可能性があることに注意してください。他のエディターがインストールされているとは限りません。また、Linuxでは/binなので、/usrをマウントできませんでした。

16
vartec

あなたは速いタッチのタイピストですか?編集を行うためのキーボードショートカットを増やしたいですか?編集に費やす時間は、思考の流れを妨げますか?エディターについて、思い通りに動作するようにカスタマイズしたいことはありますか?長期的に見ればより多くの時間と労力を節約できることを意味するのであれば、事前に多くの労力を費やしてもかまいませんか。あなたはあなたを時代錯誤だと考える人々に悩まされていませんか?その場合は、vimが適しています。

たとえ機能が少なくても、マニュアルを読まなくてもエディタを理解できるようにしたいですか?オフィスの他の全員が使用しているものを使用する方が快適ですか?すべてにマウスを使用しますか?もしそうなら、vimはあなたに適していないかもしれません。

15
Karl Bielefeldt

Emacs(そしておそらくVimも)を学ぶことはveryが役立つと思います。どうして?シンプル:多かれ少なかれ、私が行うすべてのことについて、同じ例外的に有能なエディターを使用できます。

私は学生で、常に新しいものの使い方を学んでいるので、これは素晴らしいことです。今年、Haskellで遊んだり、大量のJavaScriptを実行したり、Schemeを使用したり、Javaを書いたり、Perlにねじ込まれたり、Webサイトで作業したりしました。Emacsは、これらすべてに最適でした。

以前は、さまざまな言語でいくつかの問題がありました。PerlまたはPythonを選択しましたが、どちらにも適したエディターが見つかりませんでした。これで、いつでもEmacsを使用できます。もちろん、ときどきEmacsに必要なすべての機能が備わっていないことがありますが、迅速なプロジェクトに使用できる十分機能がすぐに使用できます。より長いプロジェクトの場合、多少のカスタマイズが必要になる場合がありますが、そのためにかかる時間は、おそらく新しいIDEを取得して学習することと同じです。

つまり、Emacsは非常に多くの異なる言語をサポートし、特定の言語をサポートしなくても生活をより良くするのに十分強力であるため、優れています。

6
Tikhon Jelvis

番号

それらの使用方法を学びたい場合は、実稼働環境では行わないでください。ダウンタイムや、特にコードの記述に慣れるために取っておいた時間に実行してください。経験を積んだら、それを環境に導入しますが、慣れ親しんでいるプログラムは近くに置いてください。純粋なテキストエディタに移行することを決めたとき、フロントページを近くに置いておき、必要がなくなるまで十分に自信が持てるようになりました。

5
Mallow

少なくとも3つの理由があります新しく作成されたプログラマーがemacsの学習に時間を費やすことを選択する理由and/- vi:

  • 伝統:モーセが石版で彼の出力を拾って以来、viとemacsの両方が存在しています。実際、神自身がviまたはemacsを発明し、悪魔がもう1人を発明した可能性がありますが、誰が何を発明したのかは、誰に尋ねるかによって異なります。 (あなたはそれがreligiousの議論だと聞きましたよね?)とにかく、これらの2人の編集者はかなりの歴史とストーリーと ジョーク 彼らを巻き込むことはたくさんあります。両方の知識がなければ、自分のルーツを理解できないと感じるかもしれません。例えば:

    電球を変更するには、viユーザーは何人かかりますか?

    ne最初に「挿入」モードに入るのを忘れない限り。*

  • 慣性:Defenderマシンのハイスコアのように、emacsやviキーストロークをニューロンに焼き付けている人はたくさんいます。どちらのエディターも最新のユーザーインターフェイスデザインの優れた例として挙げられるとは思いませんが、多くの人がすでにコマンドを知っているので、新しいエディターはしばしばviコマンドやemacsコマンドのサポートを組み込んでいます。 MacOS Xはおそらくこれの最良の例です: Cocoaベースのアプリケーションで驚くほど多くの一般的なemacsコマンドを使用するthoseのいずれかでない限り) peopleおよび viベースの入力マネージャーをインストール )。すべての主要なプラットフォーム上の多くのIDEとテキストエディタは、viやemacsのキーバインディングを提供しており、おそらく長い間提供されます。したがって、QWERTYキーボードで入力する方法を学んだように、知っているかどうかに関係なく、おそらく古代のテキストエディターから派生したいくつかのコマンドも選択するでしょう。

  • power:viについてはよくわかりませんが、利用できるパワーと柔軟性に近づいている編集者はほとんどいないと言って間違いありません。 emacs。何かが機能する方法が好きではありませんか?変更できます。コマンドラインを使用するためにエディターをドロップアウトしたくないですか?問題ありません。emacs内で必要なすべてのことを実行できます。ダゴバの沼地で多くの時間を費やしてそのすべての力を活用することを学ぶ必要がありますが、一部の人々は、おそらくそれ自体のためであっても、価値があると感じるかもしれません。 viは、ベルトにぶら下がっているLeathermanツールのようなものです。多用途で、常に準備ができており、あらゆる種類のものに使用できます。

では、viやemacsを学ぶのはimportantですか?特に、両方について何かを知っているのはusefulだと思います。特に、それらを使用する必要があることに気付いた場合は、少なくとも少しは知っています( )。しかし、彼らが知らないからといって必ずしもあなたを引き留めることはできない。日常的に使用するツールを可能な限り効果的に使用する方法を知ることはより重要ですです。

* これはタイプミスではありません。viを使用して最初の1時間を過ごした後で、それが得られます。

5
Caleb

プログラミングのためのエディターを学ぶ必要があるなら、それをemacsにしてください。どうして?

Rpmを作成する必要がある場合、emacsを開いて、拡張子.spec WHAMで終わるファイルを見つけるように指示します。スケルトンファイルが表示され、すべてのタグとマクロがテキストで色分けされています。

そして、私が私のお気に入りのバージョン管理に提出したい場合、esc-x load-library Mercurial(またはgitまたはsvn)はemacsを気分に入れて、そのバージョン管理メニューから適切なコマンドをドロップダウンするか、ctrl-xのようなコマンドを認識しますvvは、リポジトリからコードをチェックインまたはチェックアウトし、リポジトリで実行できるすべてのことを実行します。

視力疲労は、同じ色を長時間見つめると発生します。私はターミナルウィンドウにkonsoleを使用し、色を頻繁に変更します。 emacsがターミナルウィンドウにない場合、選択できるカラーテーマは50種類以上あり、アリスブルーのように快適な低コントラストのものや、目を覚まし続ける必要があるときに幸福感のように目を刺すものなどがあります。

私はたくさんのpythonをコーディングしています。構文のコーディングをテストする必要があるとき、emacsを残しません。 Pythonインタープリターを開始し、画面が分割された後、pythonファイルを保存し、インタープリターにインポートして構文をチェックします。エラーが発生します。完了したら、分割されていないウィンドウに切り替えて作業を続けることができます。

一部の人々はviを使用すると言っていますが、私は古いSunシステムで使用しています...私は定期的にリズムを持っています-iを押して文字を挿入し、エスケープを押してもう一度iを押して次の文字を入力します...エドよりも、それは利用可能なものです)。

通常、新しいシステムへの最初のインストールはzileです。 GNU zileは、ブラウジングや電子メール、irc、カラーなどのウィンドウドレッシングなしのemacsであり、約100kで動作し、emacsキーコードを使用するCコードバイナリです。

Emacsがほとんどの人が音を出そうとするのと同じくらい面倒だったとしたら、非常に多くの人々がemacsのようなエディターを作成することによる自殺の大食いだったのは驚くべきことです。 MINCEは完全なEmacsではありません、31種類のマイクロemacs、Jed、Zile、Joe、およびオッドボールpythonコーディングまたは2つとWebベースのYMacはすべてemacsenです。peppy http://peppy.flipturn.org/ は別のテイクであり、emacsキーコードを使用してPythonでコード化され、バイナリデータのチャンクを含むすべてのものを編集します。にはプログラミング言語用の数十のモードがありますが、そのキーコーディングパラダイムはエマセンです。

ええ、emacsは学ぶ価値があり、viもそうです。残りの部分の中で、Eclipseは、その多くの挿入の恐ろしさを我慢できれば、同じくらい便利です。そして、本当に小さくて軽量で高速なものが必要な場合は、e3をチェックしてください。 x86バージョンはアセンブラーで作成され、EmacsやViを含む多くのキーコードセットを提供します。 https://sites.google.com/site/e3editor/

そして、そうそう、emacsを開いて、17ページをタイプして、BLAPを入力します落雷で私の力が消える。電源が回復すると、作業を見て、入力した最後の7文字を失ったことがわかります。「クラッシュしたセッションを回復する」手順を実行すると、失ったものを2つに減らすことができます。

Pythonコードはインデントを信じていません、それはそれらに依存します。 Emacsはそれを認識しており、インデントが適切であることを確認します。ただし、「if」を削除すると、領域全体が間違ったインデント状態になります。 emacsでは、次の方法で修正します。

ctrl-スペースキーと矢印キーで領域を強調表示

ctrl-c <は、強調表示されたすべてのコードをアウトデントします。 (ctrl-c>は正しくインデントします)。

60以上のエディターを使用したと思いますが、戻ってきたのはemacsです。Cで関数コードのスタブを取得したり、適切なインデントやカラーコーディングを取得したりできるためではなく、すでにすばらしい機能を超えてカスタマイズできるためです。 。リチャード・ストールマンの発案は、非常に多くの人によって適応されました...

3
Michael Moore

今日、さまざまな種類のエディター崇拝の人気は、おそらく プラグマティックプログラマー 本から来ています。

または、正確には、不用意に詰め込んだ第3章基本ツール->パワー編集-> 1人の編集者の読者からですが、序文の章で説明されている重要な(プラグマティック)要点を完全に逃しました。 :

簡単な答えはありません。ツール、言語、オペレーティングシステムなど、bestソリューションなどはありません。特定の状況でより適切なシステムしか存在できません。

これが実用主義の出番です。特定のテクノロジーに慣れる必要はありませんが、特定の状況で優れたソリューションを選択できるように、十分に広い背景と経験ベースがあります...

現在の状況と環境に合わせてアプローチを調整します。プロジェクトに影響を与えるすべての要素の相対的な重要性を判断し、経験を使用して適切なソリューションを作成します。そして、あなたは仕事が進むにつれてこれを継続的に行います。

上記のような一般的な理解が得られれば、これだけでもこの本は読む価値があります。覚えておくべき主なアイデアは、著者が明確かつ明確に述べたものです「最善の解決策はありません」

3
gnat

Emacsもviもコーディング専用ではありません。彼らはたまたま、コードの記述を少し簡単にする機能をサポートしています。

viの唯一の利点は、その遍在性です。 UnixまたはLinuxベースのシステムには、viが実装されます。 [〜#〜] teco [〜#〜] よりも光年に優しいですが、Etch-a-Sketchを使用しています。そうは言っても、viはターミナルセッションでの私の主要な編集ツールです。これは、学習するための帯域幅emacsを同時に取得したことがないためです(そしてemacsは多くのキーコードの組み合わせを厳しくしすぎています)。

どちらのツールも学習する必要はありません。他にも、同じ機能の多くを使いやすい形式でサポートする高品質のテキストエディタがあります。

2
John Bode

ViやEmacsを学ぶ必要はありません。ツールを学ぶ必要があります。彼のライフルの欠点と能力をよく知らない狙撃兵を想像してみてください、彼は良い狙撃兵ではないでしょうか?彼でしょうか?

Emacs、Vim、Textmate、Sublime Textなどが好きなエディタを見つけてください。そういうわけではないかもしれませんが、Nanoは大丈夫ですが、重要なのは快適です。ツールで。

1
dysoco