web-dev-qa-db-ja.com

Linuxでまともなemacsセットアップを取得する方法

私は現在、vimからemacsへの切り替えに興味があります。

これのより説得力のある理由の1つは、UNIX環境とのスムーズな統合です。私が見た中で最も経験豊富なemacsユーザーは、ウィンドウの下部にbashプロンプトがあり、stdoutはそのすぐ上のバッファーに移動します。次に、grepなどのプログラムの出力と興味深い方法で対話します。

私はUbuntu10.04を使用していますが、デフォルトのemacs環境は統合の点であまり役に立たないようです。たとえば、M-x Shellモード、lsのような基本的なコマンドからの出力は多くの奇妙な文字を生成し、上矢印を押すと前のコマンドに移動しません。

進むべき良い方向についての推奨事項はありますか?

5
Hersheezy

適切なセットアップを行う方法については、2つの異なる方法があります。

  1. 他の人/ウェブページからのカスタマイズを盲目的に使用する(例:Emacsスターターキット)
  2. 実際にあなたが欲しいものについて考え、質問をし、学び、そしてあなた自身であなたの.emacsをカスタマイズしてください

私の経験では、多くの人が最初のルートを取りますが、それは問題ありません。少しの作業で便利なカスタマイズができます。ただし、ビッグカット/ペーストを実行する前に知っていた以上のことは実際にはわかりません。

時間をかけて質問すると(Shelllsについて行ったように)、実際にニーズを満たすカスタマイズされたEmcasエクスペリエンスが得られます。さらに、何が可能で、どのようにそこに到達できるかについて、はるかに優れたアイデアが得られます。欠点は、少しの作業が必要になることです(それほど多くはありませんが、ゼロではなく、多くの人を怖がらせます)。

それで、あなたを悟りの道から始めるために(あなたが 赤い丸薬 を取ることに決めたなら)、私はあなたの特定の問題に対する解決策を与えます。 注:セットアップに関する情報がほとんどないので、特定の問題について知識に基づいて推測します。

lsコマンドで通常の端末の色の特殊文字を出力するため、lsはあらゆる種類のファンキーな文字を表示しています(おそらく、ls --colorにエイリアスされています)。 M-x termはこれを正しく処理しますが、これも機能します。

(ansi-color-for-comint-mode-on)

矢印キーを使用する代わりに、 M-p そして M-n 前/次のコマンドに移動します。または、矢印キーをバインドして、必要な操作を実行することもできます。

(add-hook 'Shell-mode-hook
      (lambda ()
    (define-key Shell-mode-map (kbd "<up>") 'comint-previous-input)
    (define-key Shell-mode-map (kbd "<down>") 'comint-next-input)))
4
Trey Jackson

eshell(を試してみてくださいM-x eshell)、または シェルコマンドのコマンドとショートカットを読んでくださいM-x Shell)。 eshellは、emacs LISPで記述されたシェルであり、Emacsとほぼ完璧に統合されています。私の唯一の不満は、それが通常のシェルほど速くないということです。

他のすべてをセットアップすることに関しては、私は emacsスターターキット をお勧めします。これには、emacsを拡張および構成するための便利なスクリプトとelispモジュールが多数含まれています。

Emacsは後天的な味です。あなたが見た人々はおそらく何十年ものemacsの経験を持っています-彼らはあなたと同じように無知で始めました。このテーマに関する本を何冊か読んでみることをお勧めします-- Learning GNU Emacs は私が学んだことであり、その後 the = GNU Emacsのマニュアルは素晴らしいガイドとリファレンスです

5
Rafe Kettler

私にとって興味深いのは、vimからemacsに切り替える理由は、Unixの統合と、これら2つのエディターの一般的な経験レベルを示しているため、シェルバッファーなどを使用したemacsの人々をどのように見てきたかということです。 emacsもvimも、あなたが望む方法で「箱から出して」来るのではなく、ワークフローを開発するためのプラットフォームとして機能します。

たとえば、vimには、すぐに説明できる機能は付属していませんが、emacsに付属していないのとほぼ同じように、 conqueaddon-async などのプラグインが付属しています。むしろ、それは(emacsと同じ-via M-!)外部コマンドを実行し、それを新しいバッファーにパイプする機能(:r! command)。

私はあなたをemacsから思いとどまらせるためにここにいるのではなく、どちらかを学ぶための最良の方法は1つを選んで飛び込むことです。emacsを知っている友達がいる場合は、設定ファイルを要求してください。どのプラグインが好きか、または特定の機能を取得する方法を尋ねてください。経験者にとって最も難しい質問は「次に何をすればいいの?」です。

前に述べたように、emacsスターターキットは素晴らしいですし、 peepcode screencast それがどこから来たのかということも素晴らしいです。さらに、 Learning GNU Emacs の多くはGoogleブックスからオンラインで無料で入手できます。実際に使用しているプラ​​グインについては、たまたま anything.el コード補完用および autopair.el 一致する中括弧を挿入します。また、言語や環境に関心がある可能性のあるものについては、 marmalade をざっと見てください。これにより、特定の機能に関するよりガイド付きの質問が表示されます。

あなたの編集クエストで頑張ってください!

1
sleepynate

M-xShellの代わりにM-xansi-termを使用してください。そうすれば、Emacsに実際のターミナルエミュレーターができます。完璧ではありませんが、mutt、topなどのcursesアプリケーションを使用すると確実にうまくいきます。

また、 Emacs Dev Kit -Emacsスターターキットのあまり知られていない代替品もご覧になることをお勧めします。アルファ版ではありますが、簡単に再利用できる便利な構成がたくさんあります。

Emacs Wiki および Mastering Emacs もご覧ください。

0
Bozhidar Batsov