bashコマンドラインとやり取りするときに使用するショートカットは多数あり、作業をより簡単かつ迅速に行うことができます。
好む:
そしてもっと多くのこと、私が知りたいこと、そしてそれは間違いなく学ぶのに役立つでしょう。
Ubuntuのこれらのショートカットのリストはどこから入手できますか?これらのショートカットをリストしたマニュアルはありますか?
注:
ショートカットとそのアクションの一覧を1か所で取得したい。短時間でそれらの多くを学ぶことは本当に役立ちます。このようなリストを取得する方法はありますか?ここに答えてくれてありがとう。
デフォルトはman bash
にあり、各コマンドの動作に関する詳細が含まれています。キーバインドを変更した場合は、BroSlowの回答を参照してください。
Commands for Moving
beginning-of-line (C-a)
Move to the start of the current line.
end-of-line (C-e)
Move to the end of the line.
forward-char (C-f)
Move forward a character.
backward-char (C-b)
Move back a character.
forward-Word (M-f)
Move forward to the end of the next Word. Words are composed of alphanumeric characters (letters and digits).
backward-Word (M-b)
Move back to the start of the current or previous Word. Words are composed of alphanumeric characters (letters and digits).
Shell-forward-Word
Move forward to the end of the next Word. Words are delimited by non-quoted Shell metacharacters.
Shell-backward-Word
Move back to the start of the current or previous Word. Words are delimited by non-quoted Shell metacharacters.
clear-screen (C-l)
Clear the screen leaving the current line at the top of the screen. With an argument, refresh the current line without clearing the screen.
...
reverse-search-history (C-r)
Search backward starting at the current line and moving `up' through the history as necessary. This is an incremental search.
...
unix-line-discard (C-u)
Kill backward from point to the beginning of the line. The killed text is saved on the kill-ring.
...
yank (C-y)
Yank the top of the kill ring into the buffer at point.
これらのコマンドはすべてマニュアルの連続したセクションにあるため、Commands for Moving
から参照できます。または、このセクション全体をテキストファイルに保存することもできます。
man bash | awk '/^ Commands for Moving$/{print_this=1} /^ Programmable Completion$/{print_this=0} print_this==1{sub(/^ /,""); print}' > bash_commands.txt
(N.B.これは、デフォルトのキーボードショートカットのないコマンドを含むセクション全体を印刷します。)
awkコードの説明
Commands for Moving
が発生したら、変数print_this
を1に設定します。Programmable Completion
の(のみ)オカレンスで、変数を0に設定します。-P
オプションを指定してbashビルトイン bind
を呼び出すと、現在のbashシェルのすべてのショートカットをリストできます。
例えば.
bind -P | grep clear
clear-screen can be found on "\C-l".
それらを変更するには、次のようなことができます
bind '\C-p:clear-screen'
そして、それを永続化するために初期化ファイルに入れます(キーの組み合わせは一度に1つのものにしかバインドできないため、以前のバインドは失われます)。
次のコマンドは、使用方法とショートカットを示すNice columnarの出力を提供します。
bind -P | grep "can be found" | sort | awk '{printf "%-40s", $1} {for(i=6;i<=NF;i++){printf "%s ", $i}{printf"\n"}}'
これにより、次のような出力が得られます。
abort "\C-g", "\C-x\C-g", "\e\C-g".
accept-line "\C-j", "\C-m".
backward-char "\C-b", "\eOD", "\e[D".
backward-delete-char "\C-h", "\C-?".
backward-kill-line "\C-x\C-?".
backward-kill-Word "\e\C-h", "\e\C-?".
backward-Word "\e\e[D", "\e[1;5D", "\e[5D", "\eb".
beginning-of-history "\e<".
beginning-of-line "\C-a", "\eOH", "\e[1~", "\e[H".
call-last-kbd-macro "\C-xe".
capitalize-Word "\ec".
character-search-backward "\e\C-]".
character-search "\C-]".
clear-screen "\C-l".
complete "\C-i", "\e\e".
...
次のコマンドを使用して、この出力をテキストファイルに取得します
bind -P|grep "can be found"|sort | awk '{printf "%-40s", $1} {for(i=6;i<=NF;i++){printf "%s ", $i}{printf"\n"}}' > ~/shortcuts
ファイルは、$ HOMEディレクトリに作成されます。
すべてのショートカットを取得します。
bind -P
割り当てられていないショートカットをすべて削除します
grep "can be found"
出力をソートします
sort
最初の列(つまり、関数)を印刷し、テキストを揃えます
awk '{printf "%-40s", $1}
これは前のコマンドの一部です。列6+(つまり、ショートカット)を印刷します。
{for(i=6;i<=NF;i++){printf "%s ", $i}{printf"\n"}}'
shortcutsという名前のホームディレクトリのNiceテキストファイルに出力を配置します
> shortcuts
次のコマンドを実行することで、コマンドがどのように機能するかを知ることができます。
bind -P
bind -P | grep "can be found"
bind -P | grep "can be found" | sort
このコマンドを不適切にする方法でbashマニュアルが変更されていない限り(これはほとんどありません)、次のコマンドはbash
のすべてのデフォルトのショートカットを表示します。
man bash | grep -A294 'Commands for Moving'
これにより、次のような出力が得られます。
Commands for Moving
beginning-of-line (C-a)
Move to the start of the current line.
end-of-line (C-e)
Move to the end of the line.
forward-char (C-f)
Move forward a character.
backward-char (C-b)
Move back a character.
forward-Word (M-f)
Move forward to the end of the next Word. Words are composed of alphanumeric characters (letters and digits).
backward-Word (M-b)
Move back to the start of the current or previous Word. Words are composed of alphanumeric characters (letters and
digits).
Shell-forward-Word
Move forward to the end of the next Word. Words are delimited by non-quoted Shell metacharacters.
Shell-backward-Word
Move back to the start of the current or previous Word. Words are delimited by non-quoted Shell metacharacters.
clear-screen (C-l)
Clear the screen leaving the current line at the top of the screen. With an argument, refresh the current line
without clearing the screen.
redraw-current-line
Refresh the current line.
Commands for Manipulating the History
accept-line (Newline, Return)
Accept the line regardless of where the cursor is. If this line is non-empty, add it to the history list according
to the state of the HISTCONTROL variable. If the line is a modified history line, then restore the history line to
its original state.
previous-history (C-p)
Fetch the previous command from the history list, moving back in the list.
next-history (C-n)
...
Bashマニュアルが変更されている場合、このコマンドはニーズに合わせて簡単に変更できます。
さて、bashマニュアルをフィルタリングすることで、ショートカットのリストを取得する方法があります。また、正確に各ショートカットが何をするのかを説明します。 Sparhawk に感謝します。必要だったのは、正規表現の使い方を学ぶことでしたが、まだまだ苦手です:)
だからここに1行のコマンドがあります:
man bash | grep "(.-.*)$" -A1
ここに出力の小さな抽出があります:
beginning-of-line (C-a)
Move to the start of the current line.
end-of-line (C-e)
Move to the end of the line.
forward-char (C-f)
Move forward a character.
backward-char (C-b)
Move back a character.
forward-Word (M-f)
Move forward to the end of the next Word. Words are composed of alphanumeric characters (letters and digits).
backward-Word (M-b)
Move back to the start of the current or previous Word. Words are composed of alphanumeric characters (letters and digits).
clear-screen (C-l)
Clear the screen leaving the current line at the top of the screen. With an argument, refresh the current line without clearing the
previous-history (C-p)
Fetch the previous command from the history list, moving back in the list.
next-history (C-n)
Fetch the next command from the history list, moving forward in the list.
beginning-of-history (M-<)
Move to the first line in the history.
end-of-history (M->)
Move to the end of the input history, i.e., the line currently being entered.
reverse-search-history (C-r)
Search backward starting at the current line and moving `up' through the history as necessary. This is an incremental search.
forward-search-history (C-s)
Search forward starting at the current line and moving `down' through the history as necessary. This is an incremental search.
ここでショートカットをファイルに保存します:
man bash | grep "(.-.*)$" -A1 > bash_shortcuts
それが私が必要とするすべてです。 bashに割り当てられたショートカットキーを知りたいだけで、 BroSlow のようにキーを再構成していません。
彼らの貢献に感謝します。
注:
誰かがこれを強化したいなら、彼/彼女は大歓迎です。いくつかのキーによって割り当てられたショートカットをリストする方法についてのみ言及しました。したがって、誰かがこの方法を使用して説明が割り当てられていないアクションをリストする方法を知っている場合、大歓迎です:)