シェルviモードの印刷(引数:重複):削除するには?

シェルviモードの印刷(引数:重複):削除するには?

シェルのviコマンドモードで数字(例:8)をクリックするたびに、「(arg:8)」が行の先頭に表示されます。このようなことが起こらないようにする方法を知っている人はいますか?私が入力している行を動かすと注意が気になります。

変える:

(arg: 8) somecmd --itslong --reallylong

これ:

somecmd --itslong --reallylong

ベストアンサー1

コマンドモード(実際のエディタまたはBashモード)のときにvi数字を押すと、引数(したがって「arg」)が入力され、通常、次のコマンドが繰り返される回数を設定するために使用されます。これを防ぐには、i数字を押す前に入力モード(たとえば、を押すなど)にする必要があります。

デモ:

viモードでない場合は、次のコマンドを使用して入力できます。

set -o vi

(emacsモードに入り、viモードを終了できますset -o emacs。)

次に、vi 入力モードで次のコマンドを入力します。

echo abcdefghijk4

上記のように、最後に数字「4」が表示されます。

今押してくださいEsc。カーソルが1文字左に移動し、コマンドモードになります。

数字を押して「3」と言います。これで、次のようになります。

(arg: 3) echo abcdefghijk4

今大文字Xを押してください。あなたは見なければなりません:

echo abcdefgh4

Readline(Bashのコマンドライン入力エディタ)に3文字を「削除」するよう指示したため、3文字(「ijk」)が削除されました。

今、i任意の番号を押してください。数字はコマンドラインのカーソル位置に挿入されます。

おすすめ記事