.emacs.el を再起動なしに、再読み込みする方法 [emacs]

個人的メモ。

M-x load-file RET ~/.emacs.el

Mac の Emacs.app を Carbon Emacs 22 から Cocoa Emacs 23 に変更した手順まとめ [mac][emacs]

Carbon Emacs 22 から Cocoa Emacs 23 への置き換えは、Emacs for Mac OS X から、ダウンロードして、 /Application/Emacs.app に上書きコピーするだけです。

Carbon Emacs 22 では、拡張をアプリケーションディレクトリの /Applications/Emacs.app/Contents/Resources/lisp/ 入れてしまっていたので、Cocoa Emacs を上書きした際に消してしまいました。
そこで、いい機会ですので、~/.emacs.d/lisp を load-path に追加して、こちらに拡張を置くようにしました。
ついでに、~/.emacs.el から ~/.emacs.d/init.el にファイル名を変更しました。


~/.emacs.d/init.el

(setq load-path
      (append
(list (expand-file-name "~/.emacs.d/lisp")) load-path))

; 言語を日本語にする
(set-language-environment 'Japanese)
; 極力UTF-8とする
(prefer-coding-system 'utf-8)

; metaキーの変更
(setq ns-command-modifier (quote meta))
(setq ns-alternate-modifier (quote super))

Emacs 22 からこちらのお作法が推奨されているようですので。


拡張をインストールしなおしたので、一通りメモ。

color-theme

http://download.savannah.gnu.org/releases/color-theme/ から color-theme-6.6.0.tar.gz をダウンロードして展開。そして、

% cp -a color-theme-6.6.0/themes ~/.emacs.d/lisp/
% cp -a color-theme-6.6.0/color-theme.el ~/.emacs.d/lisp/

Session Management for Emacs

http://sourceforge.net/projects/emacs-session/files/ から session-2.3.tar.gz をダウンロードして展開。そして、

% cp -a session/lisp/session.el ~/.emacs.d/lisp/

elscreen

まず、APEL をインストールします。
http://kanji.zinbun.kyoto-u.ac.jp/~tomo/elisp/APEL/ から apel-10.8.tar.gz をダウンロードし、展開します。

% cd apel-10.8/
% make PREFIX=~/.emacs.d EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs LISPDIR=~/.emacs.d/lisp VERSION_SPECIFIC_LISPDIR=~/.emacs.d/elisp23
% make PREFIX=~/.emacs.d EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs LISPDIR=~/.emacs.d/lisp VERSION_SPECIFIC_LISPDIR=~/.emacs.d/elisp23 install


~/.emacs.d/init.el に APEL のパスを追加します。

(setq load-path
      (append
(list (expand-file-name "~/.emacs.d/lisp/apel")) load-path))

(setq load-path
      (append
(list (expand-file-name "~/.emacs.d/elisp23/emu")) load-path))


ftp://ftp.morishima.net/pub/morishima.net/naoto/ElScreen/ から elscreen-1.4.6.tar.gz をダウンロードし、展開します。

% cp -a elscreen-1.4.6/elscreen.el ~/.emacs.d/lisp/

kill-summary

http://mibai.tec.u-ryukyu.ac.jp/~oshiro/Programs/elisp/kill-summary.el をダウンロードし、展開します。

% cp -a kill-summary.el ~/.emacs.d/lisp/

minibuf-isearch

http://www.sodan.org/~knagano/emacs/minibuf-isearch/ をダウンロードし、展開します。

% cp -a minibuf-isearch.el ~/.emacs.d/lisp/

ref.
- Emacs23 (Cocoa Emacs) 入門から中毒まで / 紹介マニア

Fedora Core5 の IM Anthy を Emacs から使う [emacs][linux]

Fedora Core5 で標準の日本語かな変換は Anthy ですが、デフォルトでは Emacs から使えないので、設定した。

まず、anthy-el をインストール。

$ sudo yum install anthy-el


そして、.emacs に下記を記述

(set-language-environment "Japanese")
(push "/usr/local/share/emacs/site-lisp/anthy/" load-path)
(load-library "anthy")
(setq default-input-method "japanese-anthy")
(global-set-key "\C-o" 'toggle-input-method) ;Ctrl-o 日本語on/off


最初、1 行目の "(set-language-environment "Japanese")" と 2 行目以降を離して書いていたが、うまく動かなかった。
深くは追っていないが、間に書いてある設定文が影響しているっぽい。

Meadow で UTF-8 を開くと文字化け [emacs]

これまで問題なかったのに changelog.txt (EUC) を Meadow で開くと文字化け。
nkf で changelog_utf.txt (UTF-8) に変換してみたがやはり文字化け。

.emacs の設定をいろいろいじったが直らない。

いらないと思っていた Mule-UCS を導入することにした。
しかし、ウェブに載っている入手先 ftp://ftp.m17n.org/pub/mule/Mule-UCS/ の anonymous 認証が通らなかったり、http://www.egroups.co.jp/files/emacs21-users-ja/Meadow/Mule-UCS-0.84-for-Meadow1.14-1.tar.gz は消えていたりした。

結局 http://riksun.riken.go.jp/archives/misc/Japan/Meadow/2.10/packages/ から入手した。
コンパイルは http://mynotes.jp/blog/2006/11/meadow を参考にした。
cygwin で

$ tar zxfp /d/download/mule-ucs-0.85rc2-6-pkg.tar.gz
$ /c/Meadow/bin/Meadow.exe -q --no-site-file -batch -l mucs-comp.el
$ (cd lisp/jisx0213/; /c/Meadow/bin/Meadow.exe -q --no-site-file -batch -l x0213-comp.el)
$ (cd lisp/big5conv/; /c/Meadow/bin/Meadow.exe -q --no-site-file -batch -l big5-comp.el)
$ mkdir /c//Meadow/site-lisp/Mule-UCS
$ /tmp/packages/lisp/mule-ucs> cp -R lisp/* /c//Meadow/site-lisp/Mule


.emacs に下記を記述 (コメントアウトを削除)

(require 'un-define)
(setq bitmap-alterable-charset 'tibetan-1-column)
(require 'jisx0213)


以上で UTF-8 を表示できるようになった。

ただし、保存時に UTF-8 ではないものを指定するように言われるので、下記を .emacs に追加。

(setq unicode-basic-translation-charset-order-list
      '(ascii latin-iso8859-1 latin-iso8859-2 latin-iso8859-3 latin-iso8859-4
        cyrillic-iso8859-5 greek-iso8859-7 hebrew-iso8859-8 latin-iso8859-9
latin-iso8859-14 latin-iso8859-15 ipa japanese-jisx0208
japanese-jisx0213-1 japanese-jisx0213-2 japanese-jisx0212
chinese-gb2312 chinese-cns11643-1 chinese-cns11643-2 chinese-cns11643-3
chinese-cns11643-4 chinese-cns11643-5 chinese-cns11643-6
chinese-cns11643-7 chinese-big5-1 chinese-big5-2 korean-ksc5601
latin-jisx0201 katakana-jisx0201 thai-tis620 ethiopic indian-is13194
chinese-sisheng vietnamese-viscii-lower vietnamese-viscii-upper
mule-unicode-0100-24ff mule-unicode-2500-33ff mule-unicode-e000-ffff))

これは http://www.m17n.org/mlarchive/mule-ja/200208/msg00014.html を参考。

kill-summary.el で "truncate-string" エラーが出たときの対処法 [emacs]

kill-summary.el をインストールして,M-y で一覧を出そうとしたら "Symbol's function definition is void: truncate-string" エラーがミニバッファに出ました。
Meadow2 では問題ありませんでしたが,Mac の Carbon Emacs で起こりました。

調べてみると,kill-summary.el の "truncate-string" を "truncate-string-to-width" に変更すると解決できるらしい。

kill-summary.el キルリングの一覧を表示し選択ヤンクできるようにする [emacs]

Emacs では C-k (kill-line) や C-w (kill-region) で削除した内容、M-w (kill-ring-save) でコピーした内容はキルリングに格納されます。

キルリングの内容は C-y で貼り付けることができます。
さらに続けて M-y を繰り返し実行すると、キルリングに格納された内容が順番に表示されます。
貼付けたい内容が出るまで M-y を行います。

kill-summary.el を導入するとキルリングの内容を一覧で表示できます。
一覧で見ることができるので、順にたどるより効率的に貼付けたい内容を選択できます。


インストールは kill-summary.el を site-lisp/ にコピーし、以下を .emacs に記述するだけ。

;;; kill-summary
(autoload 'kill-summary "kill-summary" nil t)
(define-key global-map "\ey" 'kill-summary)


初期ウィンドウ高さは .emacs で指定できます。

(setq kill-summary-window-height 10)


M-y で一覧が表示されます。
あとは p, n で候補を選択し、RET で決定します。

ref.
-kill-summary.el: キルリングの一覧を表示し選択ヤンクできるようにする

Emacs の便利なショートカットキー [emacs]

覚えていない便利そうなショートカットキーのメモ。

まずは単語系。
1 語前進: M-f
1 語後退: M-d
次の単語を削除: M-d
直前の単語を削除: M-Del

リドゥもよく使うので覚えておきたいです。
リドゥ (redo): undo (C-/) 後、C-g し、C-_ (繰り返し実行可)

その他、小技系。プログラミングに使えそうです。
C-x C-t: 2 つの文を入れ替える
M-u: 単語全体を大文字(uppercase)にする (カーソルから右向きへ)
M-l: 単語全体を小文字(lowercase)にする (カーソルから右向きへ)
M-- M-u: 単語全体を大文字にする (カーソルから左向きへ)
M-- M-l: 単語全体を小文字にする (カーソルから左向きへ)

Emacs をメインエディタに使ってみる [emacs]

これまでメインエディタに秀丸を使用していました。
Mac や Linux を使用する場合は、ファイル共有して Windows から秀丸で編集したり、軽い編集なら vi を使用していました。

が、Windows, Mac, Linux を均等に使用するようになってきたり、秀丸用の Windows PC を用意できない状況があったりと環境が変わってきた増した。

そこで、プラットフォーム独立で使用できる Emacs にメインエディタを切り替えました。
操作方法はどのプラットフォームでもほぼ共通で、Emacs Lisp での拡張も共通で使用できるはずです。

Windows は Meadow, Mac は Carbon Emacs を使用します。

Emacs は .emacs を設定しないと使いにくいので、とりあえず最低限の項目を設定します。

;; 言語環境の設定
(set-language-environment "Japanese")

;; IME 初期化設定 (Meadow)
(mw32-ime-initialize)
(setq default-input-method "MW32-IME")

;; C-h を backspace として使う。
; C-h には元々 help-command が割り当てられているが、F1 で代用可能。
(keyboard-translate ?\C-h ?\C-?)
(global-set-key "\C-h" nil)

;; C-k(kill-line) で行末の改行も含めて kill する
(setq kill-whole-line t)

;; 選択範囲(リージョン)をハイライト
(transient-mark-mode t)

;; 対応する括弧をハイライト
(show-paren-mode t)