回答:
Readlineライブラリが提供するいくつかの便利な行編集キーバインディング:
Ctrl-A
:行の先頭に移動しますCtrl-E
:行末に移動しますAlt-B
:1単語後方にスキップAlt-F
:1単語先にスキップCtrl-U
:行頭まで削除Ctrl-K
:行末まで削除Alt-D
:単語の最後まで削除Alt-A
すると、カーソルを移動する代わりにメニューが開きます。Alt-A
Gnome ではどのように使用しますか?つまり、Gnomeがデフォルトなので、これを読んでいる人はだれでもGnomeでターミナルを実行しているでしょう。
ここからさらにいくつかのショートカット
Ctrl + a – go to the start of the command line
Ctrl + e – go to the end of the command line
Ctrl + k – delete from cursor to the end of the command line
Ctrl + u – delete from cursor to the start of the command line
Ctrl + w – delete from cursor to start of word (i.e. delete backwards one word)
Ctrl + y – paste word or text that was cut using one of the deletion shortcuts (such as the one above) after the cursor
Ctrl + xx – move between start of command line and current cursor position (and back again)
Alt + b – move backward one word (or go to start of word the cursor is currently on)
Alt + f – move forward one word (or go to end of word the cursor is currently on)
Alt + d – delete to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + c – capitalize to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + u – make uppercase from cursor to end of word
Alt + l – make lowercase from cursor to end of word
Alt + t – swap current word with previous
Ctrl + f – move forward one character
Ctrl + b – move backward one character
Ctrl + d – delete character under the cursor
Ctrl + h – delete character before the cursor
Ctrl + t – swap character under cursor with the previous one
あなたはviの[M]と、bashのユーザーであれば、あなたは追加することによって、viのスタイルの編集を使用することが有用(bashので使用される)のreadlineを作るために見つけることがset editing-mode vi
、あなたに~/.inputrc
または/etc/inputrc
ファイル。または、bashコマンドを実行して、bashにviスタイルの編集を使用させることもできますset -o vi
。コマンドを~/.bashrc
ファイルに追加して、動作を永続化します。
zshユーザーの場合は、viスタイルの編集用にファイルに追加bindkey -v
します.zshrc
。
.bashrcで以下のコードスニペットを入手します。Ctrl-aは先頭にジャンプし、Ctrl-aをもう一度押すと中央にジャンプします。
jump_mid() {
if [ "$READLINE_POINT" -eq "0" ]; then
LEN=${#READLINE_LINE}
POS=$(($LEN / 2))
READLINE_POINT=$POS
else
READLINE_POINT=0
fi
}
bind -x '"\C-a" : jump_mid'
または、Ctrl-Somethingを使用して直接中央にジャンプする場合は、コードを次のように変更します。
jump_mid() {
LEN=${#READLINE_LINE}
POS=$(($LEN / 2))
READLINE_POINT=$POS
}
そして、Ctrl-aとは異なるものにバインドします。
screen
ユーザは、Ctrl-Aは、Ctrlキーを押しながらAのA.なり