ぺーぱーふぇいす

雑記と備忘録。私はプログラマ。

アプリを自作する時に実装するショートカットについて考えてみる

Windows系の話。
PCから操作するクライアントアプリ、もしくはwebアプリを作る上で少しこだわりたい要素の一つにキーボードショートカットがある。
私はけっこうキーボードショートカットが好きな人間で、主要な機能にキーボードショートカットが割り当っていないと不満になってしまう人間だ。
キーボードショートカット自体はユーザが自由に各機能に割り当てられるのが個人的にベストだけれど、その前に「デフォルトとして設定しておくべきキーボードショートカットとはなんだろうか?」と考えた。
私はアプリケーションを作成するときにその都度、「あれはこれは」と追加しているので、良い機会なのでまとめることにした。

2018/04/02 作成

新規/保存/終了系

キーボード 効果 実装されている代表的なアプリ 備考
Ctrl + s 保存(上書き保存) メモ帳, サクラエディタ とか アクティブなファイルを保存する。動作としては上書き保存。
Ctrl + Shift + s 名前をつけて保存(別名保存) サクラエディタ, Inkscape とか アクティブなファイルを別のファイル名をつけて新規保存する。テキストエディタだけでなく、ペイントソフト系にもあると便利。
Ctrl + o 開く メモ帳, Chrome とか ファイル選択ダイアログ(もしくはフォルダ選択ダイアログ)を表示して、開くファイル/フォルダを選択させる。
Ctrl + n 新規 メモ帳, Chrome とか 新規ファイルを作成として、白紙の状態(あるいは設定されている初期状態)のタブもしくはウインドウを開く。
Ctrl + Shift + n 新規(新しいウインドウ) Visual Studio Code, Chrome とか タブインターフェースを持つエディタの場合は新規として新しいウインドウを開く。webブラウザの場合はシークレット(プライベート)モードなどの特別なモードで新規ウインドウを開く。
Ctrl + t 新しいタブ Chrome とか タブインターフェースを持つアプリで新規タブを開く。
Ctrl + w 閉じる サクラエディタ, Chrome とか アクティブなタブを閉じる。
Alt + F4 終了 サクラエディタ, Chrome とか ウインドウもしくはアプリケーション自体を終了させる。
Ctrl + q 終了 なんかっあったかな? 上述のalf + F4と同義。Macのアプリケーションライクな動作。個人的にAlt + F4より押しやすいと思ってるので好き。
Ctrl + h 履歴(ヒストリー) Chrome とか 開いたファイルもしくはwebページなどの履歴を開く。

編集系

キーボード 効果 実装されている代表的なアプリ 備考
Ctrl + c コピー メモ帳, ペイント とか 選択されている範囲をコピーする。
Ctrl + x 切り取り(カット) メモ帳, ペイント とか 選択されている範囲を切り取りする。
Ctrl + v 貼り付け(ペースト) メモ帳, ペイント とか コピーもしくは切り取りした内容を貼り付ける。
Ctrl + z 戻る(アンドゥ) メモ帳, ペイント とか 一つ前の動作に戻る。
Ctrl + y やり直し(リドゥ) メモ帳, ペイント とか 一つ先の動作に戻る。アプリケーションによっては直前の動作をもう一度実行だったりする。
Ctrl + a 全体選択 メモ帳, ペイント とか アクティブな範囲で選択できる要素を全て選択状態にする。
Escape 選択解除 メモ帳, ペイント とか 選択中の範囲を全て解除する。
Delete 削除 メモ帳, ペイント とか 選択中の範囲を削除する。
Shift + Delete 1行削除 Mery, サクラエディタ とか アクティブな行を削除もしくは切り取りする。主にテキストエディタIDEでの機能。
Ctrl + Delete カーソル以降削除 Mery, サクラエディタ とか カーソル位置以降から行末、もしくは以降の単語までを削除する。主にテキストエディタIDEでの機能。

検索/補完・補助系

キーボード 効果 実装されている代表的なアプリ 備考
Ctrl + f 検索 メモ帳, Chrome とか アクティブなファイル、閲覧しているwebページの中から特定のテキストを検索する。
Ctrl + Shift + f 検索(同一階層内) Mery とか アクティブなファイルと同一の階層のファイルに対して検索を行う。grepに近い動作の検索。
Ctrl + r 置き換え Mery とか アクティブなファイルに対して置き換えを行う。
Ctrl + Space 補完 Mery, Visual Studio Code とか 単語の入力途中などで入力する単語や予約語などの候補を表示したり、自動入力して補完する。テキストエディタIDEに多い機能。

表示系

キーボード 効果 実装されている代表的なアプリ 備考
Ctrl + Tab Mery, Chrome とか 右のタブをアクティブ タブ上のインターフェースを持つ場合、現在アクティブなタブから見て右のタブをアクティブに切り替える。
Ctrl + PageDown 右のタブをアクティブ Chrome, Excel とか 上述のCtrl + Tabと同様の動作。
Ctrl + Shift + Tab 左のタブをアクティブ Mery, Chrome とか タブ上のインターフェースを持つ場合、現在アクティブなタブから見て左のタブをアクティブに切り替える。
Ctrl + PageUp 左のタブをアクティブ Chrome, Excel とか 上述のCtrl + Shift + Tabと同様の動作。フルキーボードならCtrl + Shift + Tabより直感的。
Ctrl + ↑ ページアップ Mery, Chrome とか PageUpキーと同じ上方向へのページスクロール。ノートPCなどのPageUpキーが無いキーボード操作時などに便利(Fnキーと組み合わせたりするよりも、感覚的に楽)。
Ctrl + ↓ ページダウン Mery, Chrome とか PageDownキーと同じ下方向へのページスクロール。ノートPCなどのPageDownキーが無いキーボード操作時などに便利(Fnキーと組み合わせたりするよりも、感覚的に楽)。
ScrollLock スクロールロック Excel とか カーソルはそのままの位置でページのみをスクロールする。カーソル位置をずらさずにページのみスクロールさせたい時などに便利。あんまり使われてないけど個人的に重要な機能。
Ctrl + r 更新(リロード/リフレッシュ) Chrome とか アクティブなタブ、ウインドウで出力している内容を最読み込みする。
F5 更新(リロード/リフレッシュ) Chrome とか 上述のCtrl + rと同様の動作。
Ctrl + Shift + r 更新(スーパーリロード) Chrome とか キャッシュやバッファのような保持している内容を破棄し、アクティブなタブ、ウインドウで出力している内容を最読み込みする。
Ctrl + '+' 拡大(ズームイン) Chrome とか 表示倍率やフォントサイズを上げる。
Ctrl + '-' 縮小(ズームアウト) Chrome とか 表示倍率やフォントサイズを下げる。

その他系

キーボード 効果 実装されている代表的なアプリ 備考
Ctrl + p 印刷(プリントアウト) メモ帳, Chrome とか アクティブなファイル、webページを印刷する。
F1 ヘルプ メモ帳, Chrome とか アプリケーション全体もしくは操作中のインターフェースについてヘルプを表示する。ヘルプはアプリケーションの機能として表示するか、webサイト上に用意したヘルプコンテンツにアクセスさせるか等。

以上

こんなもんかな。
思いついたり、日頃使ってるアプリで「おっ」と思うショートカットがあれば追記するかも。
「それってキーボードショートカットじゃなくね?」的なものもあるけど、まあ「実装忘れないように」的なメモでもあるってことで。
ただ、あくまで「いろんなアプリケーションで共通的だなぁ」と思ったやつを書いたので、これ以上はアプリケーション固有、もしくはユーザが割り当てできるようにしておくのがアプリケーションとしては一番親切だろうか。

いじょー。