2009-09-06 tokyo-emacs #0x02 コネタ
TRANSCRIPT
http://www.kwappa.net/
2009-09-06tokyo-emacs vol.2
コネタC-v と C-w をここちよく
1
http://www.kwappa.net/
自己紹介
•名前‒ kwappa (かっぱ)• http://www.kwappa.net/
•所属‒ 株式会社もしも•ファンダメンタル・エンジニア
‒ 東京Basic Technology勉強会 (tobe-tobe[とべとべ])• http://bit.ly/tobe-tobe
22
http://www.kwappa.net/
最初にごめんなさい
•ひたすらコネタです
•内容的には非常に平易
•お昼寝可 / 投石不可3
3
http://www.kwappa.net/
emacsとの出会い
•ゲームプログラマ‒ VZ / WZ•変態キーバインド
•転職した‒ Solaris 9
•無職期間にあわてて準備‒ 「emacsしかないだろう」という思い込み•クライアントはWindowsだった…
44
http://www.kwappa.net/
カスタマイズの日々
•結局Meadowを使い始めた‒ ありがとう「Meadow/Emacs memo」
• http://www.bookshelf.jp/soft/meadow.html
•WZとの挙動差に悩む•幸い待機期間があった
55
http://www.kwappa.net/
違和感その1
•scroll-up / downの挙動‒ バッファの先頭 / 最後が見えている状態で発行するとエラー
•耐えられない…•WZの挙動 : バッファの先頭 / 末尾に移動
66
http://www.kwappa.net/
こんなコードを書きました
;; Page up / downをWZ風味に(defun my-scroll-up() "my scroll up" (interactive) ; scroll-upに失敗したらバッファ末尾へ (condition-case err (scroll-up) ; エラーの種類 (end-of-buffer (goto-char (point-max)))))
77
http://www.kwappa.net/
他愛ないコードだけど…
•scroll-downも同様に
•望んでいた挙動が得られた
•つきあっていけそうな予感
88
http://www.kwappa.net/
調子に乗って同じネタで拡張
•killの挙動‒ regionがない状態でkillするとエラー
•耐えられない…•WZの挙動 : 範囲選択していない状態でコピー→カーソル行をコピー
99
http://www.kwappa.net/
こんなコードを書きました (1/2)
;; C-w拡張(defun my-kill-region() "kill region / kill line" (interactive) (condition-case err (kill-region (mark) (point)) (mark-inactive (progn (setq bol (progn (beginning-of-line) (point))) (setq eol (progn (end-of-line) (point)))
1010
http://www.kwappa.net/
こんなコードを書きました (2/2)
(progn ; 行末に改行があればコピー (if (/= eol (point-max)) (setq eol (+ 1 eol))) (kill-region bol eol) (beginning-of-line) (message "cursor line is killed."))))))
1111
http://www.kwappa.net/
kill-whole-lineでいい疑惑
•行の途中でC-w→ undoしたときの挙動が違う
•kill-whole-lineだとカーソル位置が復元されない
•昨日気づいた
1212
http://www.kwappa.net/
発表の動機
•「カスタマイズしないで使ってる」という話を聞いたので
•望む挙動はきっと得られる•時間泥棒なので注意
1313
http://www.kwappa.net/
今後の課題
• .emacs.d/をポータブルにしたい‒ 環境いろいろ•Meadow•Carbon Emacs•ターミナル
• ちゃんとelispを理解したい‒ 典型的な手続き脳
• Emacs 23
1414
http://www.kwappa.net/
emacsよ俺で変われ
1515
http://www.kwappa.net/ 16
ご清聴ありがとうございました。
16