xyzzy QandA
キー設定
- Windows ちっくなキーバインドにできますか?
- セレクションがある場合に,Windows 風なキーバインドにできますか?
- Alt + v で「表示」メニューが開いてしまうのですが…。
- キーバインドを変更するには?
- C-x → C-w などの2ストロークキーの設定法は?
- 2ストロークキー入力時,IMEがオンになっているとC-x → ??の入力時に??の入力がIMEに吸われてしまうんですけど…。
- BackSpace の挙動がなんとなく気にくわないんですけど…。
- リストボックスやコンボボックスでも Emacs ちっくなキーバインドで操作できますか?
- いつでも普通のバックスペースを使いたいのですが…。
- どのキーにどんな関数が割り当てられているのですか?
- C-i キーの設定を変更したら,TAB の動作まで変わってしまったのですが何故でしょう?
- キーボードマクロ選択ダイアログをキーバインド一発で出すことはできませんか?
- キーボードマクロで登録したキー操作にキーを割り当てて使えませんか?
- C-o や C-\ で漢字入力モードの切り替えを行いたいんですけど…。
- C-/ や C-x u で undo したいのですが…。
Windows ちっくなキーバインドにできますか?
管理番号 22最終更新 2003/09/01 13:56:12
初期化ファイルに, (load-library "Gates") と書いておいてください。すると, C-n : 新規作成 C-o : 開く C-s : 保存 C-p : 印刷 C-z : 元に戻す C-x : 切り取ってクリップボードへコピー C-c : クリップボードへコピー C-v : クリップボードから貼り付け C-a : 全選択 Alt+F4 : 終了 などが可能になります。他にも Home,End,制御キー+カーソルキーなどのキ ーバインドがそれらしくなります。詳しくは $XYZZY/lisp/Gates.l を参照く ださい。関連項目
- [00164] セレクションがある場合に,Windows 風なキーバインドにできますか?
セレクションがある場合に,Windows 風なキーバインドにできますか?
管理番号 164最終更新 2003/09/01 13:58:09
基本的には Emacs ちっくなキーバインドで作業を行い,セレクションがある
場合には Windows をかじりたいという場合は,初期化ファイルに,
(load-library "winkey")
と書いておいてください。
使い方
C-x : 選択されていたら切り取ってクリップボードへコピー
選択されていなかったら標準の C-x として動作
C-c : 選択されていたらクリップボードへコピー
選択されていなかったら標準の C-c として動作
また,以下のキーも有効になります。
C-v : クリップボードから貼り付け
C-z : 元に戻す
M C-x : 標準の C-x として動作
M C-c : 標準の C-c として動作
仕組み
selection-keymap に #\C-c と #\C-x が設定されてます。多分セレクショ
ンがある場合には selection-keymap が有効になるのだと思います。
詳しくは $XYZZY/lisp/winkey.l を参照ください。
関連項目- [00022] Windows ちっくなキーバインドにできますか?
Alt + v で「表示」メニューが開いてしまうのですが…。
管理番号 23最終更新 2003/04/01 00:00:00
共通設定の [いろいろ]→[なんでALTでメニューが開かない?] のチェックを 外してください。すると M-v という入力が ESC → v だけでなく,Alt + v でも動作するようになります。 この設定で,例えば「表示」メニューを開く場合は,Alt を押した後 v を押 してください。
キーバインドを変更するには?
管理番号 24最終更新 2003/04/01 00:00:00
すべてのモード共通のキーバインドは global-set-key を使います。書式は, (global-set-key [キー] [関数]) です。例えば Alt + F4 で xyzzy を終了したい場合は, ; Alt+F4 で終了 (global-set-key #\M-F4 'kill-xyzzy) です。(ただしモード別のキーバインド設定と重なった場合,そちらが優先さ れてしまいます)。
C-x → C-w などの2ストロークキーの設定法は?
管理番号 25最終更新 2003/04/01 00:00:00
該当部分をリストにしてください。
(global-set-key '(#\C-x #\C-w) 'emacs-write-file)
2ストロークキー入力時,IMEがオンになっているとC-x → ??の入力時に??の入力がIMEに吸われてしまうんですけど…。
管理番号 26最終更新 2003/04/01 00:00:00
共通設定の [いろいろ]→[複数キーストロークのIME制御] をチェックしてく
ださい。
BackSpace の挙動がなんとなく気にくわないんですけど…。
管理番号 27最終更新 2003/04/01 00:00:00
文字消去系の関数には,以下のようなものがあります。 1. delete-char 2. delete-backward-char 3. delete-char-or-selection (DEL のデフォルト) 4. delete-backward-char-or-selection (BackSpace, C-h のデフォルト) 5. backward-delete-char-untabify 6. backward-delete-char-untabify-or-selection で,それぞれ, 1. カーソルのある場所の文字を消す 2. カーソルの前の場所の文字を消す 3. 1 で selection があるときは,優先的にそれを消す 4. 2 で selection があるときは,優先的にそれを消す 5. 2 で タブを分解して消していく 6. 5 で selection があるときは,優先的にそれを消す となっています。したがって自分の好きな動作に割り当て直してください。 例えば, (global-set-key #\C-h 'backward-delete-char-untabify-or-selection) とか。
リストボックスやコンボボックスでも Emacs ちっくなキーバインドで操作できますか?
管理番号 74最終更新 2003/06/20 06:20:23
リストボックスおよびコンボボックス内で有効なキー操作として, *std-control-up-char* : 上に移動するキー *std-control-down-char* : 下に移動するキー *std-control-default-char* : デフォルトボタンを押すキー *std-control-prior-char* : 1 ページ上に移動するキー *std-control-next-char* : 1 ページ下に移動するキー がそれぞれ定義可能です。したがって,それらを Emacs ちっく定義すればそ れなりになるかもしれません。 例えば, (setq *std-control-up-char* #\C-p) とか。
いつでも普通のバックスペースを使いたいのですが…。
管理番号 108最終更新 2003/06/18 23:02:30
C-h を普通のバックスペース(カーソル左の1文字削除)にする場合は,初期化 ファイルに, (global-set-key #\C-h 'backward-delete-char) と書いておけば良いのですが,モード毎のキーマップに他の関数が割り当てら れていると有効になりません。その場合は,モード毎に C-h のキー設定を無 効にしておく必要があります。例えば,以下のように並べておきます。 (undefine-key ed::*c-mode-map* #\C-h) (undefine-key ed::*c++-mode-map* #\C-h) ... 但し,autoload されるモードについては,そのモードの起動時に実行される フックで設定するなどの注意が必要です。 いちいち指定するのが面倒だという場合は, (setf (symbol-function 'backward-delete-char-untabify-or-selection) #'delete-backward-char) のように再定義してしまえばいいのですが,他に何か影響が あるかもしれません。 [xyzzy:04494] より。
どのキーにどんな関数が割り当てられているのですか?
管理番号 109最終更新 2003/06/18 23:05:54
キー割り当ての一覧を見たい場合は,[ヘルプ]→[キー割り当て一覧] または M-x describe-bindings します。各関数については,リファレンスで調べたり, 名前から想像したりしてください。 キーから割り当てられている関数名を調べるには,M-x describe-key した後, 調べたいキーを押します。 関数名から割り当てているキーを調べるには,M-x command-apropos した後, 調べたい関数名(の一部でも良い)を指定します。
C-i キーの設定を変更したら,TAB の動作まで変わってしまったのですが何故でしょう?
管理番号 111最終更新 2003/07/18 18:52:41
C-i と TAB は,同じキーとして認識されます。別の動作をさせたい場合,例 えば,C-i に fast-scroll-down を割り当てる場合は,初期化ファイルに以下 のように記述してください。 (setf (svref *kbd-translate-table* (char-code #\C-i)) #\F24) (global-set-key #\F24 'fast-scroll-down) [xyzzy:04627] より。 リファレンスも参照ください。 ・set-extended-key-translate-table ・キー表現使用可能文字
キーボードマクロ選択ダイアログをキーバインド一発で出すことはできませんか?
管理番号 121最終更新 2003/06/21 14:08:10
関数 load-kbd-macro を適当なキーに割り当ててください。
キーボードマクロで登録したキー操作にキーを割り当てて使えませんか?
管理番号 119最終更新 2003/06/21 07:08:30
キーに割り当てる場合は,キーボードマクロを記録した後,以下の手順で行い ます。 1. M-x name-last-kbd-macro を実行し,記録したマクロに名前を付けます。 2. 初期化ファイルを開き,設定を記述したい場所に移動して, M-x insert-kbd-macro を実行。「Insert kbd macro: 」に,1. で 指定した名前を入力して RET します。 これで,初期化ファイルに以下のような式が挿入されます。 (setf (symbol-function 'macro-foo) "abc") あとは,macro-foo に対して割り当てたいキーを設定すればおっけーです。 (global-set-key 割り当てたいキー 'macro-foo) [xyzzy:06170] より。関連項目
- [00118] 繰返し処理を簡単に実行することはできませんか?
C-o や C-\ で漢字入力モードの切り替えを行いたいんですけど…。
管理番号 73最終更新 2003/04/01 00:00:00
かんなちっくに C-o を使いたい場合は, (global-set-key #\C-o 'toggle-ime) うんぬちっくに C-\ を使いたい場合は, (global-set-key #\C-\\ 'toggle-ime) と初期化ファイルに書いておいてください。
C-/ や C-x u で undo したいのですが…。
管理番号 154最終更新 2003/06/29 17:29:05
C-/ ならば, (global-set-key #\C-/ 'undo) C-x u ならば, (global-set-key '(#\C-x #\u) 'undo) と初期化ファイルに書いておいてください。