web-dev-qa-db-ja.com

どのようにして適切なEmacsを学びますか?

Emacsについて学び、チュートリアルを読み、Emacsに関するO'Reillyの本を借りました。しかし、問題はまだ残っています-良いEmacsワークフローをどのように学びますか?たぶん Vim のように、Emacsを使うつもりはないでしょう。

この質問は私のものに対して好意的です:- Emacsを使用している専門家のビデオはどこにありますか?

59
vang3lis

誰もこれについて言及していないとは信じられませんが、Emacsにバンドルされている情報ページを読むことは、あいまいな機能について学ぶための素晴らしい方法です。コーディングを中断する必要があるときはいつでも、M-x infoを押し、ランダムなページを選択して読み取ります。あなたのemacs能力は信じられないほど速く向上します。

Emacsの自己文書化機能が作業にどのように役立つかを理解することも重要です。たとえば、フォントサイズを拡大縮小する方法を考えているとします。フローを中断してここで、またはIRCまたはGoogleで質問する代わりに、emacsに質問できます。 C-h aM-x command-apropos)を押して検索語を入力するだけです。この場合はscaleです。一致する関数がある場合、その名前、キーバインド、およびドキュメントが表示されます。あり、text-scale-increasetext-scale-decreaseが見つかりました。

学習に役立つ他の自己文書化関数があります。C-h mは、現在のメジャーモードとマイナーモードで使用できるキーバインドとコマンドを教えてくれます。これは、存在すると知らなかった機能を発見するための優れた方法です。

「浸透によって学習」するもう1つの方法は、定期的に使用するモードをM-x customize-groupすることです。 (customizeは、ほぼすべてのモードがサポートするインタラクティブな構成エディターです。)

最後に行うことは、Emacs LISPを学ぶことです。既存のツールを使用するのは便利ですが、独自のツールが必要になることもあります。 LISPの学習を避けようとすると、常に正しく機能しないものに悩まされることになり、それは残念です。

Emacsはそれ自体をカスタマイズするための素晴らしい環境です。 Emacsには、M-x infoで表示できる2つのLISPマニュアルが含まれています。これは自己文書化されているため、C-h fまたはM-x describe-functionと発声して、関数のドキュメントを取得できます。 TAB ENTを押して、その関数のソースコードにジャンプし、その実装方法を確認することもできます。これは、「fooのように機能するが、少しだけ異なるものがあったらいいのに」と考える場合に最適です。 fooの実装方法を読んで、*scratch*バッファーに変更を加え、変更が気に入ったかどうかを確認できます。編集、コンパイル、テストのサイクルはありません。あなたはキーを押すと、あなたのemacsセッションはあなたが書いたばかりの機能をすぐに持ちます。

Emacsの学習に注力するほど、より多くのemacsが作業を容易にするために実行します。

37
jrockway

基本(ファイルを開く/閉じる、ナビゲート、基本編集)をマスターしたら、それを使用します。他の多くのツールと同様に、練習は完璧です...

しかし、私は現在、エディターの使用方法を改善するために少し時間を空けておきますが、接線から離れてそれのために物事を学ぶのではなく、通常のワークフローの一部として。

EmacsWikiPlanet Emacsen blog が役立つリソースです。私は両方を使用し、主に「インスピレーション」としてPlanet Emacsenを使用してから、EmacsWikiにさまよって、特定のトピックについてトロールします。あなたが探しているものについて少なくとも漠然とした考えがない限り、利用可能な情報は実際に役立つのではなく、ただあなたを驚かすだけであることがわかりました。

StackOverflowには、非常に便利なリソースがいくつかあることは言うまでもありません。たとえば この質問はここ などです。 Emacsは非常に強力なツールであり、1人の人が必要とするよりもはるかに多くのことができる傾向がありますが、最終的にはあなた必要。

27
Timo Geusch

私の提案は、Emacs以外の使用を停止することです。問題が発生した場合は、Emacsでそれを解決できるかどうかを確認し、フォールバックします(時間がない場合や機能しない場合)。ワークフローについては、通常の作業とほとんど同じです。つまり、通常のIDEセッションでは、ファイルを通常どおりに開いたり編集したりして、(C-x v vで)通常どおりにコミットします。

9
Andrew Cox

私はここの他のポスターに同意します、あなたはそれを使わなければなりません!ここに私がそれをした方法があります:

非常に基本的なもの(バッファ間を移動したり、ファイルを開いたり保存したりできる)を入手したら、リファレンスカードを印刷して手元に置いておきました。 これは良いものです 。何が入っているかがわかるように確認してください。その後、カード上で繰り返し何かをしていることに気づいたら、ショートカットの使用を開始してください。あなたがそれを知る前に、あなたはコマンドのかなりの武器を覚えているでしょう。しかし、覚えておいてください、おそらくemacsができることすべてを使う人はいないでしょう。

最終的にショートカットのない何かを繰り返し実行していることに気づいたら、キーボードマクロを学ぶ良い機会です。それらを入手したら、どこでもそれらの用途を見つけることができます!そこから、elisp(プログラマーの場合)への短いジャンプです。

Emacsの優れた点は、「emacsワークフロー」が不要なことです。emacsはワークフローを回避します!

7
Brad Achorn

Emacsのワークフローを学ぶ必要はありません。チュートリアルを完了して本質をマスターしたら、ある程度の一夫一婦制を採用し、Emacsのみを使用する必要があります。最終的には、本当に存在したいと思っていた機能について考えるでしょう。ほとんどの場合、他の誰かにも同じことがあり、解決策はたった1つの検索です。やがて、あなたは仕方なく学ぶことができなくなり、最終的には、あなた自身の個人的なワークフローを開発するのに十分なものになります。

プロセスを加速したい場合は、Emacs wikiにさまざまなヒントがありますが、本当に最善の方法は、Emacsで何かを行うことです。

5
vinc456

効率的なテキスト編集についてのBram Molenaarの講演をご覧ください http://video.google.com/videoplay?docid=2538831956647446078&ei=EqiGSau8KZ-QiQLi-Nn8Cg&q=bram+molenaar+編集

彼はvimの人ですが(彼はそれを書いた)、emacsに適用されるテキストエディターでより熟練するための最善の方法についていくつかのアイデアを得るかもしれません。

3
Jonas Kölker

正直に言うと、必要なキーバインドを学ぶだけです。 emacsを最大限に活用する必要はないので、私はemacsを最大限に活用していません。私の提案は、必要なものだけを学び、必要ないものについては心配しないことです。新しいキーバインディングを毎日学び、約300年ですべてを知ることができます;)

2
Rayne

前述のように、最良のアドバイスは、来年はEmacsのみを使用することです。指の記憶を発達させれば、物事ははるかに簡単になります。

1
user60727

何かのための「良いワークフロー」をどのようにして学びますか?それを使用することで、それを理解し、あなたのものにします。 Emacsの「適切な」使用はありません。

それを知ることに関して:Amacs-そのヘルプシステムを使用してください。これも役立ちます: http://www.emacswiki.org/emacs/EmacsNewbieWithIcicles

1
Drew

私が現在取り組んでいるすべてのプラットフォームで、Amigaの昔からemacsを使用しています。

Emacsを使用する最良の方法は好奇心です。私はまだ機能(C-h a)とM-x(キーバインドの代わりに長い関数名の場合)を頻繁に使用して機能を見つけています。

「適切に使用する」Emacsの重要な概念は、非常に簡単なelisp(LISPの単純な派生物)を学び、独自の小さなヘルパー(独自のコメントスタイル、下線、テンプレート)を記述し、値を変更する場所を知ることです(タブサイズ、コンパイラ、メール)

そして3つ目は、すべてがemacsで記述されていることです。私は、dired(ディレクトリエディター)を使用してファイル内を移動します。 emacsを終了するときに保存され、起動時に回復されるすべてのテキストファイル(ファイルの種類ごとに適切なモード(c、Ruby、リスト、sql、latexなど)を使用)に多くのバッファーを使用します。私はemacsからコンパイラーを起動し、エラーへのジャンプ機能を使用します。

マクロは毎日のルーチンです(コードをサイミングし、途中で変更します)。

私はピクチャモードが好きです、それは置換で下向きにタイプすることを可能にします、それは定数のブロックを再番号付けすることを簡単にします(古き良きc #defines))

登るには険しい山がありますが、頂上に到達すると、世界全体を足元から見ることができ、この体験を二度と見逃したくありません。私は知っています、周りには多くの優れた編集者がいます(私はEclipseを通じて自分で作業しています)

1
Peter Miehle

それがEmacsのパワーです。好きなように使用できます。あなたはあなたの好みのために前にそれを設定する必要があります。

0
vava