「キーボードショートカット」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
12行目: 12行目:
 
カーネルにはローレベルなショートカットが複数実装されており、システムが反応しなくなったときに復旧させたりデバッグするのに用いることができます。いつでも使うことができますが、特に、電源ボタンを長押しして無理やりシステムの電源を切るよりかはショートカットを使うほうが推奨されます。
 
カーネルにはローレベルなショートカットが複数実装されており、システムが反応しなくなったときに復旧させたりデバッグするのに用いることができます。いつでも使うことができますが、特に、電源ボタンを長押しして無理やりシステムの電源を切るよりかはショートカットを使うほうが推奨されます。
   
カーネルショートカットを使うには、最初に {{ic|1=sysctl kernel.sysrq=1}} または {{ic|echo "1" > /proc/sys/kernel/sysrq}} でショートカットを有効にしておく必要があります。起動時に有効化されるようにするには、{{ic|/etc/sysctl.d/99-sysctl.conf}} を編集して {{ic|1=kernel.sysrq = 1}} と設定してください。
+
カーネルショートカットを使うには、最初に {{ic|1=sysctl kernel.sysrq=1}} または {{ic|echo "1" > /proc/sys/kernel/sysrq}} でショートカットを有効にしておく必要があります。起動時に有効化されるようにするには、{{ic|/etc/sysctl.d/99-sysctl.conf}} を編集して {{ic|1=kernel.sysrq = 1}} と設定してください。パーティションがマウントされて initrd に入る前に有効にしたい場合、カーネルブートコマンドラインオプションに {{ic|1=sysrq_always_enabled=1}} を追加してください。
   
 
覚え方は "'''R'''eboot '''E'''ven '''I'''f '''S'''ystem '''U'''tterly '''B'''roken" です ("REISUB" とも呼ばれます)。もしくは "BUSIER" の反対として覚えましょう。
 
覚え方は "'''R'''eboot '''E'''ven '''I'''f '''S'''ystem '''U'''tterly '''B'''roken" です ("REISUB" とも呼ばれます)。もしくは "BUSIER" の反対として覚えましょう。
134行目: 134行目:
 
|-
 
|-
 
| {{ic|Alt+y}}
 
| {{ic|Alt+y}}
  +
| 前に切り取ったテキストを貼り付け
| Paste the second latest cut text
 
 
|-
 
|-
 
| {{ic|Alt+Ctrl+y}}
 
| {{ic|Alt+Ctrl+y}}
  +
| 前のコマンドの第1引数を貼り付け
| Paste the first argument of the previous command
 
 
|-
 
|-
 
| {{ic|Alt+.}}/{{ic|_}}
 
| {{ic|Alt+.}}/{{ic|_}}
  +
| 前のコマンドの最後の引数を貼り付け
| Paste the last argument of the previous command
 
 
|-
 
|-
 
| colspan=2 align="center" | '''履歴'''
 
| colspan=2 align="center" | '''履歴'''
147行目: 147行目:
 
| 前の行に移動
 
| 前の行に移動
 
|-
 
|-
| {{ic|Alt+n}}
+
| {{ic|Ctrl+n}}
 
| 次の行に移動
 
| 次の行に移動
 
|-
 
|-
154行目: 154行目:
 
|-
 
|-
 
| {{ic|Ctrl+r}}
 
| {{ic|Ctrl+r}}
  +
| 逆検索
| Reverse search
 
 
|-
 
|-
 
| {{ic|Ctrl+j}}
 
| {{ic|Ctrl+j}}
  +
| 検索を終了
| End search
 
 
|-
 
|-
 
| {{ic|Ctrl+g}}
 
| {{ic|Ctrl+g}}
  +
| 検索を中止 (元の行に戻る)
| Abort search (restores original line)
 
 
|-
 
|-
 
| {{ic|Alt+r}}
 
| {{ic|Alt+r}}
  +
| 変更を全て戻す
| Restores all changes made to line
 
 
|-
 
|-
 
| colspan=2 align="center" | '''補完'''
 
| colspan=2 align="center" | '''補完'''
171行目: 171行目:
 
|-
 
|-
 
| {{ic|Alt+?}}
 
| {{ic|Alt+?}}
  +
| 利用可能な補完候補を表示
| List all possible completions
 
 
|-
 
|-
 
| {{ic|Alt+*}}
 
| {{ic|Alt+*}}
  +
| 利用可能な補完候補を全て挿入
| Insert all possible completions
 
 
|-
 
|-
 
|}
 
|}
   
=== X11 ===
+
=== X11 & Wayland ===
   
 
{| class="wikitable"
 
{| class="wikitable"
 
! キーボードショートカット
 
! キーボードショートカット
 
! 説明
 
! 説明
  +
! ノート
 
|-
 
|-
 
| {{ic|Ctrl+Alt+F1}}, {{ic|F2}}, {{ic|F3}}, ...
 
| {{ic|Ctrl+Alt+F1}}, {{ic|F2}}, {{ic|F3}}, ...
 
| ''n'' 番目の仮想端末にスイッチ
 
| ''n'' 番目の仮想端末にスイッチ
  +
| 機能しない場合 {{ic|Ctrl+Fn+Alt+F…}} を試してみてください。
 
|-
 
|-
 
| {{ic|Shift+Insert}} <br> {{ic|Mouse Button 2}}
 
| {{ic|Shift+Insert}} <br> {{ic|Mouse Button 2}}
| 選択されたテキストをクリップボードにコピー、もしくはクリプボードから貼り付け
+
| [[クリップボード|PRIMARY バファ]]からテキストを貼り付け
  +
| デフォルトでは [[Qt]] は {{ic|Shift+Insert}} で PRIMARY バッファではなく CLIPBOARD を使います [http://doc.qt.io/qt-5/qlineedit.html#details]。そして PRIMARY バッファは {{ic|Ctrl+Shift+Insert}} を使用します。
 
|-
 
|-
 
|}
 
|}
219行目: 222行目:
 
#Hit {{ic|F12}} to paste the buffer, instead of moving the mouse pointer to the field and center-click to paste.
 
#Hit {{ic|F12}} to paste the buffer, instead of moving the mouse pointer to the field and center-click to paste.
   
{{Note|{{ic|Shift+Insert}} has a similar yet different functionality, see [[#X11]]: {{ic|Shift+Insert}} inserts the clipboard buffer, not the x-selection-paste buffer. In some applications, these two buffers are mirrored.}}
+
{{Note|{{ic|Shift+Insert}} で同じような機能が実行できます。[[#X11]] を見てください: {{ic|Shift+Insert}} x-selection-paste バッファではなくクリップボードバッファを挿入します。アプリケーションによっては、両方のバッファには同じ中身が入ります。}}
   
 
ここでは[[公式リポジトリ]]にある3つのパッケージを使います:
 
ここでは[[公式リポジトリ]]にある3つのパッケージを使います:
   
* {{Pkg|xsel}} to give access to the x-selection-buffer content.
+
* {{Pkg|xsel}} x-selection-buffer の中身にアクセス。
* [[Xbindkeys]] to bind a key-stroke to an action.
+
* [[Xbindkeys]] でキーストロークに操作をバインド。
  +
* {{Pkg|xvkbd}} でキーボードの入力をエミュレートしてバッファ文字列をアプリケーションに渡す。
* {{Pkg|xvkbd}} to pass the buffer string to the application by emulating keyboard input.
 
   
This example binds the x-selection-paste operation to the {{ic|F12}} key:
+
以下の例では x-selection-paste の操作を {{ic|F12}} キーにバインドします:
   
 
{{hc|.xbindkeysrc|
 
{{hc|.xbindkeysrc|
237行目: 240行目:
   
 
{{Note|Depending on your X configuration, you may need to drop the {{ic|-xsendevent}} argument to xvkbd.}}
 
{{Note|Depending on your X configuration, you may need to drop the {{ic|-xsendevent}} argument to xvkbd.}}
The key codes for keys other than {{ic|F12}} can be determined using {{ic|xbindkeys -k}}.
+
{{ic|F12}} 以外のキーのキーコードは {{ic|xbindkeys -k}} で確認できます。
   
 
'''参照:'''
 
'''参照:'''
245行目: 248行目:
 
'''XMonad ウィンドウマネージャ'''
 
'''XMonad ウィンドウマネージャ'''
   
  +
[[xmonad]] ウィンドウマネージャには x-selection-buffer の中身を貼り付ける機能が内蔵されています。特定のキーストローク (例: {{ic|Insert}} キー) にバインドするには以下の設定を使用:
In the {{Pkg|xmonad}} window manager there is a built-in function to paste the x-selection-buffer content. In order to bind that function to a key-stroke (here {{ic|Insert}} key) the following configuration can be used:
 
 
{{hc|xmonad.hs|
 
{{hc|xmonad.hs|
 
import XMonad.Util.Paste
 
import XMonad.Util.Paste
255行目: 258行目:
 
'''xdotool を使用''' - コマンドライン X11 自動化ツール
 
'''xdotool を使用''' - コマンドライン X11 自動化ツール
   
  +
{{Pkg|xdotool}} を使用することで中ボタンボタンによって X のセレクションバッファの中身を貼り付ける操作のショートカットを作成できます。ショートカットのコマンドは以下のようになります:
With the {{Pkg|xdotool}} it is possible to create a short cut which actually paste the content of the X-Selection buffer via triggering the middle mouse button. Instead of hit the text as separate key strokes. The command for the short cut is:
 
   
<code>xdotool getwindowfocus key --window %1 click 2</code>
+
xdotool getwindowfocus key --window %1 click 2
   
  +
上記のコマンドは X サーバーからフォーカスのあたっているウィンドウを取得してボタン2 (中マウスボタン) のクリックイベントを発動します。
The command get the window which has focus from the xserver and triggers a click of button 2 which is the middle mouse button.
 
   
 
== Tips and tricks ==
 
== Tips and tricks ==

2016年11月4日 (金) 23:15時点における版

この記事では (あまり有名でない) デフォルトのキーボードショートカットのリストとユーザーカスタマイズの情報を提供します。

標準のショートカット

カーネル

カーネルにはローレベルなショートカットが複数実装されており、システムが反応しなくなったときに復旧させたりデバッグするのに用いることができます。いつでも使うことができますが、特に、電源ボタンを長押しして無理やりシステムの電源を切るよりかはショートカットを使うほうが推奨されます。

カーネルショートカットを使うには、最初に 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 再起動
ヒント:
  • ディスプレイマネージャを使っていて Alt+SysRq+e でログイン画面が表示される場合 (もしくは自動ログインが有効になっていてデスクトップが表示される場合)、サービスファイルRestart=always ディレクティブが原因です。必要ならば、ユニットを編集してください。ただし "REISUB" シーケンスを止めることはできません。
  • 上記の組み合わせで Alt+SysRq+b だけ動作しない場合、反対側の Alt キーを使ってみて下さい。
  • Fn キーを使って SysRqPrtScrn を区別するノートパソコンでは、Fn キーを使う必要はありません (Alt+PrtSc+letter で動作します)。
  • CtrlAlt を押す必要があることもあります。その場合、完全なキーショートカットは Ctrl+Alt+SysRq+b となります。

詳しくは Wikipedia のマジック SysRq キーを見て下さい。

ターミナル

仮想端末

キーボードショートカット 説明
Ctrl+Alt+Del コンピュータを再起動 (specified by the symlink /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 バッファからテキストを貼り付ける デフォルトでは QtShift+Insert で PRIMARY バッファではなく CLIPBOARD を使います [1]。そして PRIMARY バッファは Ctrl+Shift+Insert を使用します。

ユーザーカスタマイズ

Readline

This example adds keys that allow (in vi-mode) to search backward through the history for the string of characters between the start of the current line and the point. This is a non-incremental search.

.inputrc
set editing-mode vi
set keymap vi-insert
"\C-r": history-search-backward
"\C-e": history-search-forward

X11

一般的なショートカットや、デフォルトで無効になっているショートカットは Xorg でのキーボード設定#よく使われる XKB オプションを見て下さい。

Firefox

customizable-shortcuts アドオンを使ってください。

X-selection-paste のキーバインディング

マウスよりもキーボードを好んで使用する場合、マウスの中ボタンでペーストを行うキーバインドが役に立つかもしれません。特にキーボードを集中的に使う環境では有用です。ワークフローを以下のようになります:

  1. In Firefox, select a string you want to google for (with the mouse).
  2. Hit Ctrl+k to enter the "Google search" field.
  3. Hit F12 to paste the buffer, instead of moving the mouse pointer to the field and center-click to paste.
ノート: Shift+Insert で同じような機能が実行できます。#X11 を見てください: Shift+Insert は x-selection-paste バッファではなくクリップボードバッファを挿入します。アプリケーションによっては、両方のバッファには同じ中身が入ります。

ここでは公式リポジトリにある3つのパッケージを使います:

  • xsel で x-selection-buffer の中身にアクセス。
  • Xbindkeys でキーストロークに操作をバインド。
  • xvkbd でキーボードの入力をエミュレートしてバッファ文字列をアプリケーションに渡す。

以下の例では x-selection-paste の操作を F12 キーにバインドします:

.xbindkeysrc
"xvkbd -no-jump-pointer -xsendevent -text "\D1`xsel`" 2>/dev/null"
    F12

The "\D1" code prefixes a 100 ms pause to inserting the selection buffer (see the xvkbd home page).

ノート: Depending on your X configuration, you may need to drop the -xsendevent argument to 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 (中マウスボタン) のクリックイベントを発動します。

Tips and tricks

参照