emacs.xmlリファレンス
キーバインド一覧
| キー | 動作 | 備考(実際出力されるキーなど) |
|---|---|---|
| Escape 数字 | "数字"の回数だけ、次のキー入力の繰り返し | 'g'キーを押すことで繰り返しの中断が可能。 "Escape 数字 Ctrl-x e"で、定義したキーマクロを繰り返し実行することができる。Ctrl-x eだけではなく、下記のコマンドすべて、および、任意のキーが繰り返し可能。 |
| Ctrl-x ( | キーボードマクロ定義開始 | "("は、"Shfit-9"(+9)で定義されている。これは英語キーボード用なので、日本語キーボードの場合は、"Shift-8"(+8)に変更すること |
| Ctrl-x ) | キーボードマクロ定義終了 | 上記に同じ。")"は、"Shfit-0"(+0)で定義されている。これは英語キーボード用なので、日本語キーボードの場合は、"Shift-9"(+9)に変更すること |
| Ctrl-x e | キーボードマクロ実行 | マクロは、出力された文字ではなく、キータイプを記録する。つまり、かな漢で、変換候補が変わった時などは、同じ文字出力結果にならない。 |
| Ctrl-x Ctrl-c | ウインドウを閉じる | Alt-F4 |
| Ctrl-x Ctrl-s | セーブ | Ctrl-s |
| Ctrl-x Ctrl-f | ファイルを開く | Ctrl-o |
| Ctrl-x h | すべて選択 | Ctrl-a |
| Ctrl-x u | アンドゥ | Ctrl-z |
| Ctrl-x o | フレームやペインの移動 | F6 |
| Ctrl-n | カーソル下 | ↓ |
| Ctrl-p | カーソル上 | ↑ |
| Ctrl-f | カーソル右 | → |
| Ctrl-b | カーソル左 | ← |
| Alt-f | 一語前進 | Ctrl-→ |
| Alt-b | 一語後退 | Ctrl-← |
| Ctrl-a | 行の先頭 | Home |
| Ctrl-e | 行の末尾 | End |
| Ctrl-v | スクロールアップ | Next |
| Alt-v | スクロールダウン | Prior |
| Alt-< | ページ先頭 | Ctrl-Home |
| Alt-> | ページ末尾 | Ctrl-End |
| Ctrl-d | デリート | Delete |
| Ctrl-h | バックスペース | Backspace |
| Alt-d | 次の単語を削除 | |
| Alt-h | 直前の単語を削除 | |
| Ctrl-k | 行末まで削除 | |
| Ctrl-y | ペースト | Ctrl-v |
| Ctrl-w | カット | Ctrl-x |
| Alt-w | コピー | Ctrl-c |
| Ctrl-space | マークセット | これ以降、カーソル移動系コマンド(Ctrl-fなど)は、すべて、Shiftが付与されて出力される。つまり、選択状態になる。解除するには、もう一度Ctrl-spaceか、Ctrl-g |
| Ctrl-g | Escape、およびマークセット解除 | Escapeキーは、"Escape 数字"や"Escape x"に使っているので、普通にEscapeキーを押して、Escapeを出すことができない。だから、その代わりに、Ctrl-gを使うこと。 |
| Ctrl-m | リターン | Return |
| Ctrl-s | 検索 | Ctrl-fが出るだけ。大抵のアプリでは、「検索」ダイアログが出るだろう |
| Ctrl-/ | アンドゥ | Ctrl-z |
| Escape x | ミニバッファ表示 | ミニバッファ内での操作については、下記の"ミニバッファにおけるコマンド指定と、キーマクロの保存"を参照のこと |
| キー | 動作 | 備考(実際出力されるキーなど) |
|---|---|---|
| Ctrl-; 任意の一文字 | Alt-"任意の一文字" | Emacsでは、Alt-fで単語移動など、Altをよく使うので、キーボードから、メニューが出しにくい。そこで、このキーバインドを使う。Ctrl-; fで、Alt-f、つまり、"ファイル"メニューが開く |
| Escape space | かな漢起動 | Ctrl-spaceを出力。Ctrl-spaceのキーバインドの方は、emacsの"マークセット"機能に割り当てた。 |
| Super-m | GNOMEメニュー表示 | Alt-F1 |
| Super-f | 一つ前(右)のタブへ移動 | GNOME標準形式(firefoxなど)、GNOME端末、Geditに対応している。 |
| Super-b | 一つ後ろ(左)タブへ移動 | GNOME標準形式(firefoxなど)、GNOME端末、Geditに対応している。 |
| Super-d | タブ消去 | GNOME標準形式(firefoxなど)、GNOME端末、Geditに対応している。 |
| Super-u | 戻る | Alt-←。firefox等で、「戻る」に相当する |
| Ctrl-' (アポストロフ) | コンテキストポップアップメニューの表示 | Shift-F10。英語キーボードでは、アポストロフがセミコロンの右なので、こうした。日本語キーボードでは、":"(colon)の方がいいだろう |
| Ctrl-Alt-Shift-Escape | xfumbleの終了 |
ミニバッファにおけるコマンド指定と、キーマクロの保存
・ミニバッファの操作
- "Escape x"とタイプすると、ウインドウの下の部分に、emacsのミニバッファみたいなのが現れます
ここで、コマンドを実行することができます。 - デフォルトで、下記のコマンドが定義されています
- name-last-kbd-macro
現在記録されているキーマクロに、名前(キーマクロ名)をつけて、外部ファイルに保存する。これ以降、このキーマクロは、この名前を持つコマンドとして、ミニバッファから実行(キーマクロの再生)することができる。
既に同名のキーマクロが定義されていたら、警告なしに上書きされるので注意。
なお、キーマクロ名として指定できる文字は、英数字と、"-"と、"_"のみ。 - delete-kbd-macro
保存したキーマクロを外部ファイルから消去する。保存したキーマクロ名の候補が表示されるので、そこから選択する。
- name-last-kbd-macro
- 上記のコマンドも、保存したキーマクロも、すべて"コマンド"として、ミニバッファで指定し、実行することができます。つまり、キーマクロを保存していくと、あなたの独自のコマンドが増えていく、ということになります。
- "Escape x"でミニバッファを出して、スペースだけ押して見ましょう。選択可能なコマンドの候補が表示されます。
- 実行したいコマンドの、先頭の一文字を入力してみましょう。その一文字を先頭の文字とするコマンドのみが絞り込まれ、表示されます。
- その一文字を先頭の文字とするコマンドが一つしかなかったら、[Macthed]という表示が出ます。ここで、Return(emacs.xmlの場合はもちろんCtrl-mも可)を打つと、そのコマンドを実行します。[Matched]が表示されない時は、候補が一つに絞りきれてないということです。もう一度スペースを入力すると、複数のコマンドが共通して持つ文字が補完されます。
例えば、"name-last-kbd-macro"と、"namazu"というコマンドが定義されていたとしましょう。"n"を押しただけだと、まだどちらかが決定できません。ここでスペースを押すと、"nam"までが補完されます。ここで"a"を押せば、"namazu"が表示され、[Matched]となります。 - そのコマンドが、引数を要求するものなら、引数の入力を促すプロンプトが出ます。引数を要求しないのなら(保存したキーマクロは全部引数を要求しません)、即実行されます。
- 上記のように、xfumbleのミニバッファの動作は、emacsのミニバッファとほぼ同じですので、emacsがお好きな方は、とまどうことはないと思います。ただ、emacsと違う点は、xfumbleの場合、コマンド実行の頻度が多いと、そのコマンドが候補の先頭に表示されやすくなるという、学習機能が入っています。学習結果も外部ファイルに記録されますので、次回パソコンを起動したときに、学習結果が引き継げます。
- 学習機能が気に入らない場合は、emacs.xmlを編集して、やめさせることができます。よくある質問のここをご覧ください。
- また、「どうせ学習機能がついているんだったら、[Mathed]が出るまでキーをタイプするのではなく、最初の候補を選択させてくれないかな」という方は、よくある質問のここをご覧ください。
- 例えば、作者は、ブログの記事を書くとき、フォントを強調するため、
<strong><font size="+1">強調したい文字</font></strong>
を多用しているのですが、いちいちこれを打つのが面倒くさい。
そこで、下記のようにタイプして、キーマクロ化する。Ctrl-x ( <strong><font size="+1"></font></strong> Alt-b Alt-b Ctrl-b Ctrlb Ctrl-x )
これで、マクロ化されたので、"Ctrl-x e"で、ちゃんと<strong>...が出力され、おまけに「強調したい文字」を記入する位置にカーソルが移動することを確認する。
これが成功するのを確認したら、"Escape x"でミニバッファを出し、"name-last-kbd-macro"を指定し、キーマクロ名、例えば、"strong-font"を指定する。
これで、fontを強調したい時にはいつでも、Escape x strong-font
と打てば、xfumbleが、あなたの代わりに、<strong><font size="+1"></font></strong>
を打ってくれます。
- xfumbleのキーマクロはメニュー操作もマクロ化できます。例えば、"gedit"(GNOMEのメモ帳アプリ)を使っていて、フォントとか、背景色とかをちょくちょく変えたいとする。
フォントや背景色を変える機能は、メニューの"編集"-"設定"で出てくる設定ウインドウの、二つめのタブにあるので、下記のようにキーマクロを定義する。Ctrl-x ( Ctrl-; e e Super-f Super-f Ctrl-x )
このマクロの実行によって、設定ウインドウの「フォントと色」設定タグが表示されることを確認してから、"gedit-set-font"なんてコマンド名にして保存すれば、それからは、Escape x gedit-set-font
で、フォントや背景色をいじる設定パネルを開くことがでます。 - 設定パネルが出てから、タブが動くまで、ちょっと動作が止まるのが気になるかもしれません。動作を安定させるため、ウインドウが切り替わった際に、ウエイトを入れているためです。もっとテキパキ動かしたいかたは、よくある質問のここをご覧ください。
- xfumbleのマクロは、一つのアプリに閉じません。Alt-Tabで、他のアプリに制御を移し、そこでテキストをコピペして、またAlt-Tabで戻ってきて、コピペしたテキストを利用する、なんてマクロを組むことも可能です。
- xfumbleが行うマクロのタイプは、プログラムが行うので、人間の指では決して打てない速さとなります。このことは、アプリの想定を越えたこととなり、様々な障害が起こることがあります。そのため、タイプするときに、デフォルトでは、10ミリ秒のウエイトを入れるようになっています。障害が起きなければ、このウエイトはもっと少なくてもいいし、障害が起きれば、もう少しウエイトを増やした方がいいでしょう。これは、xfumbleを動作させるマシンやアプリに依存しますので、調節してみてください。よくある質問のここをご覧ください。
- Alt-Tabを含むマクロを実行したとき、動作が乱れることがあるかもしれません。Alt-Tabの、Altを離すタイミングにウエイトを入れることで改善できます。よくある質問のここをご覧ください。
- セキュリティについて無頓着な方なら、webサイトで入力するIDとパスワードのタイプさえマクロ化し、コマンドとして保存することもできます。これでパスワードを忘れても安心だ!
(※キーマクロはあなたのホームディレクトリの中に平文のテキストファイルで保存されます!このファイルが盗まれてあなたに損害が発生したとしても、作者は責任持てませんから。くれぐれも自己責任で!) - 保存されたキーマクロの実行を含むマクロの定義もできます。
例えば、前記した、<strong><font size="+1"></font></strong>
をタイプするキーマクロコマンド"strong-font"を使って、font size="+2"にするマクロを定義してみましょう。Ctrl-x ( Escape x strong-font Ctrl-b Ctrl-b 2 Ctrl-f Ctrl-f Ctrl-x )
このマクロを、例えば"strong-font2"などの名前で保存し、さらに、"strong-font2"を呼び出すマクロを定義することも可能です。
ただし、保存していないマクロの実行を含むマクロの定義はできません。例えば、下記のようなマクロ定義は、正常に動作しません。
Ctrl-x ( Ctrl-x e Ctrl-x )
- xfumbleでは、「Escape "n" "キー"」で、n回、"キー"のタイプを繰り返すことが可能です。例えば、
Escape 10 a
は、aaaaaaaaaa
という結果になります。 - 同じことを、ミニバッファからのコマンド実行に対しても、行うことができます。
前記した、キーマクロコマンド"strong-font"を、数引数で繰り替えしてみましょう。Escape 2 Escape x strong-font
これは、下記のような結果になります。<strong><font size="+1"><strong><font size="+1"></font></strong></font></strong>
(※この結果は、あまり有用ではありませんが...) - 数引数による繰り返しを含むマクロを定義することもできます。先ほどの"strong-font"の二度繰り返しは、下記のようにタイプするとで、キーマクロ化が可能です。
Ctrl-x ( Escape 2 Escape x strong-font Ctrl-x )