\
enterコマンドラインの最後に入力してbash
他の行からコマンドを続行できることを知っています。しかし、どのように分割できますか?早くすでに完全に入力されたコマンドラインは2つの部分に分かれていますか?
then
たとえば、残りの部分を切り取って再入力する必要なく、最初にこの行を破る方法は何ですか?
$ if true; then ls; fi
答え1
edit-and-execute-command
通常、++ にマップされる を使用して、Ctrl次のことができます。xeエディタで現在のコマンドを開きます。。このコマンドはエディタを終了すると実行されます。
答え2
ㅏ新しいチーム文字はControl-Jとも呼ばれるLF(Line Feed)です。Ctrl+を押すと、キーを押したのと同じようにJコマンドが実行されます。テキストLF文字を挿入するには+ +を押します。コマンド+(accept-line
ReturnCtrlV CtrlJCtrlVquoted-insert
)文字通り、次の文字を挿入します。したがって、行を分割するには
\ Ctrl+と入力しますV。
これを頻繁に行う場合は、マクロにすることができます。
bind '"\e\C-j": "\\\C-v\C-j\C-b\C-b"'
答え3
注 - この回答はviとvimに固有のものです。
set -o vi # edit commands using vi
VISUAL=/usr/bin/vim
現在入力している行を編集するには、ESC
(入力モードvi
またはvim
コマンドモード)を押して、またはv
を入力しますvi
。
すべてのvi / vim編集コマンドが有効であることに注意してください。例えば
ESC
+A
現在の入力ラインの末尾に配置します。ESC
+0
行の先頭にカーソルを置きます。