« Intel Mac上でllama.cppのサーバ機能を使って日本語LLMを使ってみる | トップページ | 最近利用したEX予約についての雑感(その2) »

2023.12.18

Microsoft Office Word のショートカットキーの一部をEmacs風のキーバインドにしてみた

日頃長文入力する仕事をしていると、キー入力の効率が仕事の効率に直結してきますよね。指をなるべくホームポジションから離したくないのが人情(?)だと思います。

もともとEmacsのキーバインドに馴染んていた自分ですが、最近MS Wordで長文を入力する機会が増えましたので、この際腰を落ち着けてMS Wordのショートカットキーを見直すことにしました。MS Wordはショートカットキーを柔軟に変更することができます。

もちろん、Windows標準のショートカットキーがあるわけで、そこから乖離する問題はあるわけですが、ここではMS Wordの設定を変更してMS Wordに限ってショートカットキーをEmacs風にすることにします。キーボード自体のキー設定を変更することはしません。それはそれで副作用が強いので。

ここでは次のサイトを参考にしています。ありがとうございます。
Microsoft Office WordのショートカットキーをEmacs風にする
MS-Wordでのカーソル操作をEmacsキーバインドで幸せに行う方法

ただし、上の条件に加えて、もう一つ制限がありまして、VBAを使わずにMS Word標準のコマンドのみを使って実現できる範囲で設定します。それは、セキュリティ上の理由によりVBAマクロの利用が制限されている環境で作業を行う状況があり得るからです。

利用環境は、Microsoft 365 Wordです。
設定手順を以下に示します。
[ファイル]→[オブション]→[リボンのユーザー設定]→[ユーザー設定]→「すべてのコマンド」を選択して目的のコマンドを探します。
次に、目的のコマンドを選択して割り当てたいキーを押下すると、押下したキーが設定されるので割り当てボタンを押下してキーにコマンドを割り当てます。割り当て済みのキー割当を削除することもできます。

設定は、共通テンプレートファイル(Normal.dotm)に保存されます。

今回設定したキー割り当ては以下のとおり。VBAを使わずにWord組み込みコマンドだけでも、結構できます。

ショートカットキー コマンド 動作
Ctrl + B CharLeft カーソルを左へ移動
Ctrl + F CharRight カーソルを右へ移動
Ctrl + P LineUp カーソルを一行上げる
Ctrl + N LineDown カーソルを一行下げる
Ctrl + A StartOfLine カーソルを現在行の先頭へ移動
Ctrl + E EndOfLine カーソルを現在行の最後へ移動
Alt + < StartOfDocument カーソルを文書の先頭へ移動
Alt + > EndOfDocument カーソルを文書の最終行へ移動
Alt + V PageUp 1画面分前へカーソルと文書表示を移動
Ctrl + V PageDown 1画面分次へカーソルと文書表示を移動
Alt + G, G EditGoTo 文書の指定した位置に移動
Ctrl + / EditUndo 直前の操作を元に戻す
Ctrl + _ EditUndo 直前の操作を元に戻す
Ctrl + ? EditRedo 直前に元に戻した操作をやり直す
Ctrl + Space ExpandSelection 拡張選択モードをオンにする
Ctrl + X, H EditSelectAll 文書全体を選択
Ctrl + D EditClear カーソル位置の直後または選択範囲をクリップボードにコピーせずに削除
Ctrl + W EditCut 選択内容を切り取って、クリップボードに貼り付ける
Alt + W EditCopy 選択内容をコピーして、クリップボードに貼り付ける
Ctrl + Y PasteTextOnly テキストのみ貼り付ける
Ctrl + G Cancel 操作を中止
Ctrl + H DeleteBackWord カーソル位置の直前の単語をクリップボードにコピーせずに削除
Alt + D DeleteWord カーソル位置の直後の単語をクリップボードにコピーせずに削除
Ctrl + S EditFind 指定した文字列または書式を検索
Alt + R EditReplace 指定した文字列または書式を検索して置換
Ctrl + X, F FileOpen 既存の文書またはテンプレートを開く
Ctrl + X, S FileSave 作業中の文書またはテンプレートを保存
Ctrl + X, W FileSaveAs 作業中の文書を別の名前で保存
Ctrl + X, K FileCloseOrExit 作業中の文書を閉じ、開いている文書が1つだけの場合はWordを終了
Ctrl + X, C FileExit Wordを終了

「Emacs風」が一つのポイントで、当然ですが完全にEmacsキーバインドになっているわけではないことに注意して下さい。

実現できなかった機能:
Ctrl + K : カーソルより右側を削除するためのコマンドで、個人的に使用頻度が高いのでぜひ設定したかったのですが、VBAを使わずに実現する方法が分かっていません。
Ctrl + M : Emacs標準コマンドではありませんが、ShellではRETですね。VBAを使えば実現できます。
Ctrl + H : Emacs標準だとヘルプ系コマンドですが。ここはShellに合わせてます。ただし、本当はカーソル位置左側一文字削除の機能なのですが、妥協してカーソル前1単語削除コマンドを割り当ててます。もっとも、あまり違和感はないと感じています。

|

« Intel Mac上でllama.cppのサーバ機能を使って日本語LLMを使ってみる | トップページ | 最近利用したEX予約についての雑感(その2) »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« Intel Mac上でllama.cppのサーバ機能を使って日本語LLMを使ってみる | トップページ | 最近利用したEX予約についての雑感(その2) »