Emacs23.4 for Windows (NTEmacs23)の設定
NTEmacs23の設定をメモするよ。
NTEmacs24 が出ている今、なぜEmacs23?
http://d.hatena.ne.jp/ksugita0510/20120902/p1#c で報告させてもらったけれど、Emacs for gnupackという日本語IME対応版のNTEmacs24はATOK2012で不具合があるのだ。だからそれがないNTEmacs23を使うよ。
実際のところ、Emacs23とEmacs24って、使用者から見ると全然 違いがないんだよね。設定もほとんど同じまま使えるし。
Emacs23とそれ以前は、ずいぶん設定を変えるものだったのに。文字コードの扱いとか
Emacs19(Mule2.3)を使っていた頃からバージョンアップのたびに設定を変えてきたけど、今回はひょうしぬけしたかも。
なぜEmacsを使うのさ?
昔も今も、Linuxで日本語入力するなら単にコレしかないんだよ。Linuxはデスクトップよりサーバーとして使用するほうがメジャーな使い方。
を使うというのは大部分コンソールで使うということなのだが、コンソールで動作するエディタでUTF-8を扱えるのはEmacsとvimしかない。しかもVimはWindowsからSSH接続すると日本語入力するときIMEのモードとVimのモードが混ざって面倒だ。→Emacsしかない。
Linuxにもデスクトップで動作するテキストエディタがあるようだよ。
Linuxのデスクトップ使うのは今ではFontForgeやVirtualBox使うときくらい。そもそもLinuxのデスクトップで日本語入力は ほとんどしたことがない。Windowsのほうが便利だからなー。Webブラウザ使うにも画像処理ソフトとかもあるし。
まあ最近はVimも少し覚えたけど。あと単にEmacsの操作はカラダが覚えているから「置換したいがコマンドを忘れた‥‥」すると指が勝手に動いてQuery Replace: と表示されたぞ!みたいな
Emacsで「いつもの」ファイルを開くために、ブックマーク機能を使う
- C-x r l でリスト表示してEnterで開く。普段はこれだけ使えばいい
- リストにファイル追加するには C-x r m ←これはたまにしか使わない
Emacsを「普段使いのテキストエディタ」にした場合の欠点
- Windows7のタスクバーで「タスクバーに表示する(pin)」すると、起動前のアイコンと起動後のアイコンが一致せず、アイコンが複数になる。
以下を読んでも解決法はないようだ。まあ複数でもいいか‥‥。
http://superuser.com/questions/259146/why-latest-emacs-version-dont-support-windows-7-taskbar
Windowsの[右クリック-送る]で、既に起動しているEmacsに、ファイルを読み込ませる
Windows7の場合、C:\Users\star\AppData\Roaming\Microsoft\Windows\SendTo に emacsclientw.exe のショートカットアイコンを置く。そのアイコンの「プロパティ」を開いて、「リンク先」を[C:\home\bin\gnupack_devel-10.00\app\emacs\emacs\bin\emacsclientw.exe --server-file=C:\home\bin\gnupack_devel-10.00\home\.emacs.d\server\server --alternate-editor=C:\home\bin\gnupack_devel-10.00\emacs.exe] とする。
.emacs.d/init.elに以下を記入。
;; emacs-client (require 'server) (unless (server-running-p) (server-start)) ;; stop asking 'Buffer .. still has clients; kill it?' (remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function)
Firefoxアドオン「It's All Text!」のエディタとして使う
「It's All Text!」とはWebページのtextarea編集にテキストエディタを使う、Firefoxの拡張機能。
上記の記事「Windowsの[右クリック-送る]で、既に起動しているEmacs‥‥」の (server-start)設定してあるときに
C:\home\bin\gnupack_basic-8.00\its_All_Text_emacs.bat というテキストファイルを作成して、中身は
@echo off C:\home\bin\gnupack_basic-8.00\app\emacs\emacs\bin\emacsclientw.exe --server-file=C:\home\bin\gnupack_basic-8.00\home\.emacs.d\server\server --alternate-editor=C:\home\bin\gnupack_basic-8.00\emacs.exe --no-wait "%1"
これで「It's All Text!」の[設定 - エディタ]に
C:\home\bin\gnupack_basic-8.00\its_All_Text_emacs.bat
と指定すればよい。
http://d.hatena.ne.jp/m-hiyama/20101019/1287460446 を参考にした。
これは使いやすいなあ。
一時ファイルも保存されるので安心して使える。
GoogleChromeアドオン「Edit With Emacs」のエディタとして使う
これは導入したところ、欠点があると思ったんだ。だから現在は使ってない。
欠点?
C-xC-cすると「入力内容が保存されていません。保存しますか?」と問うこともせずに、入力した内容すべて消えてしまう‥‥これはテキストエディタがやってはいけない挙動だと思うんだ。
ああ‥‥作業内容が消えてしまうのか。ソフトが異常終了したみたいなもんだね。
Emacsに入力した文字をWebブラウザに送るにはC-cC-cするのだが、まちがえてC-xC-cすると30分入力した文章があとかたもなく消えた。この2つのキー操作似すぎなんだよな、隣のキーだし。
まあ、それでも導入方法をメモしておく。
http://blog.kechako.com/entry/2011/12/02/105752 を参考に導入した。
http://d.hatena.ne.jp/noromanba/20100530/1275254399 も読んだが、Emacs使うときはローカルHTTPサーバー立てなくてもよい。上記の(server-start)設定してあればいい。
あと、必要な2つ。
1) edit-server.pl をEmacsのload-pathに置く。edit-server.plはEdit with Emacs拡張機能の「オプション」画面でダウンロードできる。
2) Emacs設定に以下を記述。
;; 'Edit with Emacs' for Google Chrome (require 'edit-server) (edit-server-start) ;(setq edit-server-new-frame nil) ;;新しくフレームを開きたくない
textareaで右クリックして[Edit with Emacs]でEmacsウィンドウ(Emacs用語ではFrame)が新しく起動する。
ちなみにEmacsが起動していないと[Edit with Emacs]選んでも何も起こらない(Emacsを立ち上げてはくれない)。
C-xC-sがなぜか効かない。だから一時ファイルに保存されているという安心感が得られない。
C-xC-cすると「入力内容が保存されていません」と警告もせずに、入力した内容すべて消えてしまった‥‥これは怖いかも。
C-cC-cすると、Emacsで入力した文字はtextareaに入るが、Emacsウィンドウは「消えてしまう」。一時ファイルも残ってない。入力した文字をブラウザ以外に残すためには、C-cC-cする前にテキスト全コピーしておくしかないのかな。
これ、textareaの文字をコピーしてEmacsにペーストして、という手間を少しだけ省けるだけの気がする。それでC-xC-cで文章消失の不安が増大だから確かに導入の意味は低いかも
それでも短文書くなら便利。長文書くのは不安だな。