キーボードショートカット
この記事では (あまり有名でない) デフォルトのキーボードショートカットのリストとユーザーカスタマイズの情報を提供します。
目次
標準のショートカット
カーネル
カーネルにはローレベルなショートカットが複数実装されており、システムが反応しなくなったときに復旧させたりデバッグするのに用いることができます。いつでも使うことができますが、特に、電源ボタンを長押しして無理やりシステムの電源を切るよりかはショートカットを使うほうが推奨されます。
カーネルショートカットを使うには、最初に sysctl kernel.sysrq=1
または echo "1" > /proc/sys/kernel/sysrq
でショートカットを有効にしておく必要があります。起動時に有効化されるようにするには、/etc/sysctl.d/99-sysctl.conf
を編集して kernel.sysrq = 1
と設定してください。パーティションがマウントされて initrd に入る前に有効にしたい場合、カーネルパラメータに sysrq_always_enabled=1
を追加してください。
覚え方は "Reboot Even If System Utterly Broken" です ("REISUB" とも呼ばれます)。もしくは "BUSIER" の反対として覚えましょう。
キーボードショートカット | 説明 |
---|---|
Alt+SysRq+r Unraw
|
キーボードの制御を X から取り戻す。 |
Alt+SysRq+e Terminate
|
全てのプロセスに SIGTERM を送り、丁寧にプロセスを終了させる。 |
Alt+SysRq+i Kill
|
全てのプロセスに SIGKILL を送り、即座にプロセスを強制終了させる。 |
Alt+SysRq+s Sync
|
データをディスクに書き込む。 |
Alt+SysRq+u Unmount
|
全てのファイルシステムをアンマウントして読み取り専用で再マウント。 |
Alt+SysRq+b Reboot
|
再起動 |
詳しくは Wikipedia のマジック SysRq キーを見て下さい。
ターミナル
仮想端末
キーボードショートカット | 説明 |
---|---|
Ctrl+Alt+Del
|
コンピュータを再起動 (/usr/lib/systemd/system/ctrl-alt-del.target シンボリックリンクで定義)
|
Alt+F1 , F2 , F3 , ...
|
n 番目の仮想端末にスイッチ |
Alt+ ←
|
前の仮想端末にスイッチ |
Alt+ →
|
次の仮想端末にスイッチ |
Scroll Lock
|
Scroll Lock が有効になっているとき、入出力がロックされます |
Shift+PgUp /PgDown
|
コンソールバッファを上下にスクロール |
Ctrl+c
|
現在のタスクを終了 |
Ctrl+d
|
EOF を挿入 |
Ctrl+z
|
現在のタスクを停止 |
Readline
GNU readline は行編集によく使われているライブラリです。Bash や FTP など様々なプログラムによって使われています (詳しくは readline パッケージの "Required By" を見て下さい)。readline はカスタマイズすることができます (詳しくは man ページを参照)。
キーボードショートカット | 説明 |
---|---|
Ctrl+l
|
画面をクリア |
カーソルの移動 | |
Ctrl+b
|
一文字分カーソルを左に移動 |
Ctrl+f
|
一文字分カーソルを右に移動 |
Alt+b
|
一単語分カーソルを左に移動 |
Alt+f
|
一単語分カーソルを右に移動 |
Ctrl+a
|
カーソルを行頭に移動 |
Ctrl+e
|
カーソルを行末に移動 |
コピー & ペースト | |
Ctrl+u
|
行頭からカーソル位置まで切り取り |
Ctrl+k
|
カーソル位置から行末まで切り取り |
Alt+d
|
カーソルの後の単語を切り取り |
Ctrl+w
|
カーソルの前の単語を切り取り |
Ctrl+y
|
切り取ったテキストを貼り付け |
Alt+y
|
前に切り取ったテキストを貼り付け |
Alt+Ctrl+y
|
前のコマンドの第1引数を貼り付け |
Alt+. /_
|
前のコマンドの最後の引数を貼り付け |
履歴 | |
Ctrl+p
|
前の行に移動 |
Ctrl+n
|
次の行に移動 |
Ctrl+s
|
検索 |
Ctrl+r
|
逆検索 |
Ctrl+j
|
検索を終了 |
Ctrl+g
|
検索を中止 (元の行に戻る) |
Alt+r
|
変更を全て戻す |
補完 | |
Tab
|
名前の自動補完 |
Alt+?
|
利用可能な補完候補を表示 |
Alt+*
|
利用可能な補完候補を全て挿入 |
X11 & Wayland
キーボードショートカット | 説明 | ノート |
---|---|---|
Ctrl+Alt+F1 , F2 , F3 , ...
|
n 番目の仮想端末にスイッチ | 機能しない場合 Ctrl+Fn+Alt+F… を試してみてください。
|
Shift+Insert Mouse Button 2
|
PRIMARY バッファからテキストを貼り付ける | デフォルトでは Qt は Shift+Insert で PRIMARY バッファではなく CLIPBOARD を使います [1]。そして PRIMARY バッファは Ctrl+Shift+Insert を使用します。
|
カスタマイズ
Readline
以下の例では行の先頭から文字列の履歴を後方検索するキーを追加します (vi モード)。インクリメンタル検索ではありません。
.inputrc
set editing-mode vi set keymap vi-insert "\C-r": history-search-backward "\C-e": history-search-forward
Zsh
Zsh は ZLE を使用して、ショートカットをウィジット、スクリプトおよびコマンドにリンクします。
X11
一般的なショートカットや、デフォルトで無効になっているショートカットは Xorg でのキーボード設定#よく使われる XKB オプションを見て下さい。
X-selection-paste のキーバインディング
マウスよりもキーボードを好んで使用する場合、マウスの中ボタンでペーストを行うキーバインドが役に立つかもしれません。特にキーボードを集中的に使う環境では有用です。ワークフローは以下のようになります:
- Firefox で、検索したい文字列を (マウスで) 選択してください。
Ctrl+k
を押して "Google search" フィールドにカーソルを移動。- マウスポインタを移動して中ボタンを押す代わりに
F12
でバッファを貼り付け。
ここでは公式リポジトリにある3つのパッケージを使います:
- xsel で x-selection-buffer の中身にアクセス。
- Xbindkeys でキーストロークに操作をバインド。
- xvkbdAUR でキーボードの入力をエミュレートしてバッファ文字列をアプリケーションに渡す。
以下の例では x-selection-paste の操作を F12
キーにバインドします:
.xbindkeysrc
"xvkbd -no-jump-pointer -xsendevent -text "\D1`xsel`" 2>/dev/null" F12
"\D1"
コードはセレクションバッファの挿入の前に 100 ms のポーズを追加します (xvkbd のホームページ を参照)。
F12
以外のキーのキーコードは xbindkeys -k
で確認できます。
参照:
XMonad ウィンドウマネージャ
xmonad ウィンドウマネージャには x-selection-buffer の中身を貼り付ける機能が内蔵されています。特定のキーストローク (例: Insert
キー) にバインドするには以下の設定を使用:
xmonad.hs
import XMonad.Util.Paste ... -- X-selection-paste buffer , ((0, xK_Insert), pasteSelection) ]
xdotool を使用 - コマンドライン X11 自動化ツール
xdotool を使用することで中ボタンボタンによって X のセレクションバッファの中身を貼り付ける操作のショートカットを作成できます。ショートカットのコマンドは以下のようになります:
xdotool getwindowfocus key --window %1 click 2
上記のコマンドは X サーバーからフォーカスのあたっているウィンドウを取得してボタン2 (中マウスボタン) のクリックイベントを発動します。
ヒントとテクニック
- 主にキーボードを使って作業をする場合、タイル型ウィンドウマネージャが気に入るかもしれません。