朝顔日記

winkey2.l

2003-06-10

黒い羽根をうろついていたら、Windows 風設定例というのを見つけたので御紹介。xyzzy の emacs 風なデフォルトのキーバインドに馴染めないけど、gates.l の軍門には下りたくないので winkey.l のお世話になっているというヘタレ(それは私)に最適です。:p)

winkey.l を導入すると、通常の使用でコピー、ペースト、カット、アンドゥをそれぞれ windows 標準のキーバインドにしてくれてかつ、C-cC-xのプレフィックスを両立させてくれるわけですが、他にも何かと使いたいキーバインドを追加してくれのが、winkey2.l です。

豪華セットは、件のページに書いてあるので、それをご覧いただくとして、私は必要ないものを省いて、以下のようにしてみました。


(provide "winkey2")

(in-package "editor")

;;; winkey.lからコピー
(defvar *default-selection-keymap*
    (let ((keymap (make-sparse-keymap)))
        (define-key keymap #\C-c 'copy-selection-to-clipboard)
        (define-key keymap #\C-x 'kill-selection-to-clipboard)
        keymap))

(setq-default selection-keymap *default-selection-keymap*)
(global-set-key #\C-z 'undo)
(global-set-key #\C-v 'paste-from-clipboard)
(define-key esc-map #\C-x #'ctl-x-prefix)
(define-key esc-map #\C-c #'specific-command-prefix)

;;; Windowsっぽい設定
;すべて選択
(global-set-key #\C-A 'selection-whole-buffer)
;置換ダイアログ
(global-set-key #\C-R 'replace-dialog)
;行頭まで選択
(global-set-key #\S-Home 'selection-beginning-of-virtual-line)
;行末まで選択
(global-set-key #\S-End 'selection-end-of-virtual-line)
;バッファ先頭まで選択
(global-set-key #\S-C-Home 'selection-beginning-of-buffer)
;バッファの終わりまで選択
(global-set-key #\S-C-End 'selection-end-of-buffer)
;行末方向へ再検索
(global-set-key #\F3 'search-forward-again)
;行頭方向へ再検索
(global-set-key #\S-F3 'search-backward-again)
;終了
(global-set-key #\M-F4 'kill-xyzzy)
;選択バッファを閉じる
(global-set-key #\C-F4 'close-selected-buffer)

site-lisp フォルダにおいて、これまで winkey.l を呼んでいた、.xyzzy や Siteinit.l の箇所を winkey2.l に書き換えるといいです。


(load-library "winkey2")

「winkey2.l」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2003/06/diary_030610a.html