トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

Keymap

Table of Contents

 実行するパッケージの変更

キーマップを新たに作成する場合は,editor パッケージ内で定義するもよう。

(in-package "editor")

 セレクションマップの作成

セレクションのある状態(選択状態)で有効になるキーマップです。lisp/winkey.l 内で定義されていますが,winkey を利用していない場合は,初期設定ファイルに以下の記述を追加しておきます。

(unless (keymapp selection-keymap)
  (setq-default selection-keymap (make-sparse-keymap)))
(export '(selection-keymap))

例えば,C-Delete をセレクションがある場合とない場合でで挙動を変えたい場合は,次のようにしてみたり。

(global-set-key #\C-Delete 'テキトーなコマンド)
(define-key selection-keymap #\C-Delete 'kill-selection-to-clipboard)

 C-z マップの作成

自分用に追加した機能をキーバインドしたいのに,空いたキーがない場合 C-z マップを定義します。キー定義の数が少ない時には,make-keymap を使うよりも make-sparse-keymap を使ったほうが,メモリの節約ができるそう。

(defvar ctl-z-map (make-sparse-keymap))
(setf (symbol-function 'ctl-z-prefix) ctl-z-map)
(global-set-key #\C-z 'ctl-z-prefix)
(export '(ctl-z-map))

こんな感じで使えます。

;;; 矩形領域文字列置換
(define-key ctl-z-map #\s 'string-rectangle-selection)

 user パッケージに戻す

初期設定ファイル内で定義する場合は,user パッケージに戻しておきます。

(in-package "user")

最終更新時間:2006年06月04日 22時44分40秒 GMT