Cocoa Emacs に手を出した (3日目ぐらい)
Posted: Updated:
Hello Emacs !
ついに、Emacs ( Wikipedia ) に手を出しました。今まで使っていたskEditや、Codaとは毛色の違う硬派なエディタ。漫然と便利な統合環境を使うよりも、欲望のままに自然とスキルアップできることを期待して導入です。Emacsとか使い始めちゃうと、ちょっとGeekっぽさが溢れて格好いいすよね、ね。
はじめはMac環境でCarbon Emacsを導入しましたが、Cocoaに対応したEmacs 23ベースの、Cocoa Emacsが最新と知って、すぐに入れ直しました。どうせなら最新を使おう!ということで。
使い始めこそ苦しいですが、慣れてきたら中々快適で、今まで使っていたCodaを使わなくても作業の多くを済ませられるようになりました。とはいえ、まだまだキーバインドも覚えかけなので、もっと練習して操作を早くしたい所存。キー操作が特殊すぎて、他のエディタに戻れなくなりそうな恐れを感じたり。
今回は、備忘録的に外せない拡張と、導入に際しての参考サイトをまとめておきます。
導入に際して参考にしたところ
- Emacs23 (Cocoa Emacs) 入門から中毒まで : 紹介マニア
- Emacs クイックリファレンス
- Emacs dot.emacs
- [mac][emacs] Cocoa Emacsを始めるにあたって入れてみた拡張とか.emacsの現状とか « 岩家ぶろぐ
- .emacsを、晒してみようと、思った。 | tech.kayac.com - KAYAC engineers' blog
外せない拡張機能
anything
Emacs使い始めのときに、ツイッター経由で紹介していただいたのですが、使ってみたら最も手放せない機能になりました。すごい!
検索してみると、"複数の機能を統一インターフェースで使う"とか色々な表現が出てきますが、こちらの記事で述べられている、MaxOS Xのspotlightみたいなインターフェースという表現で、ようやっと利用イメージが掴めました。実際の導入は下記の記事を参考にしています。開発者さん本人の紹介ですね。
参考: anything導入のeverything 〜3分で使えるanything.el〜 - (rubikitch loves (Emacs Ruby CUI))
(require 'anything-startup)
(global-set-key (kbd "C-c f") 'anything-recentf)
(global-set-key (kbd "M-y") 'anything-show-kill-ring)
(global-set-key (kbd "C-x b") 'anything-for-files)
Elscreen
タブインターフェースを提供してくれる拡張。@issm さんのブログで紹介されていた設定がドンピシャだったので拝借してます。
参考: [mac][emacs] ElScreenをタブブラウザちっくに操作するためのキーバインド設定 « 岩家ぶろぐ
(setq elscreen-prefix-key "\C-t")
(setq elscreen-display-tab t)
(load "elscreen")
(global-set-key "\M-t" 'elscreen-create)
(global-set-key "\M-T" 'elscreen-clone)
(global-set-key "\M-}" 'elscreen-next)
(global-set-key "\M-{" 'elscreen-previous)
auto-complete
汎用的に使える入力補完の拡張。同バッファ内の類似語から探索してくるので、特定の言語に依存しません。IMEの省入力候補みたいな頻出語補完のほうがイメージ近いです。
参考: テキスト入力中に補完候補を自動的に表示してくれる auto-complete.el をリリースしました
ついでに、仕事柄さわる頻度の高い、phpについては、下のマイナーモードも導入してます。anythingとauto-completeに依存。
参考: EmacsにPHPの補完を実装するマイナーモード、php-completion.elをリリースしました。
tramp
まだあまり使えていないんですが、SSHやFTPでリモートに接続して、ローカルのファイルディレクトリと同じように操作できる優れモノ。多段SSHで踏み台のさらに先にあるリモート上のファイルも同じように操作できるみたいです。リモート内のエディタを使わなくても、いつもの使い慣れた環境から操作できちゃうとかステキ!
接続時はこんなんでOK。ローカルパスを参照するのと同じような感じで入れます。
`
plain
C-x C-f /ssh:user@example.com:/path/to/file
`
参考: Emacs x tramp でネットワーク上のファイルにアクセス - Hasta Pronto.org
(require 'tramp)
;(setq ange-ftp-try-passive-mode t)
更なる拡張を!
今後の野望としては、各言語モードの微妙な不便をコツコツ解消してくことと、メール送信・簡易ブラウジング・ツイッターあたりのEmacs上からやれるようにしておきたい。あとdiredから画像ファイル類も、Previewとかに渡して開きたい。
また、設定や拡張がまとまってきたら何か書くと思います。ではでは。