回答:
たとえば、次のコマンドを実行すると:
mkdir long_path_here/new_dir
ほとんどの場合、最近作成したディレクトリに移動します。次の「ショートカット」を使用してこれを行うことができます。
cd
Esc.- cd
を押してからEsc続けて押します.(同時にではありません)。前のコマンドに引数がない場合、前のコマンド自体を取得します。cd !*
-この場合、previuosコマンドからすべての引数を取得します。前のコマンドに引数がない場合、何も取得しません。cd
Alt+ .-タイプcd
とプレスの後Altと.(同じ時間で)。実際、この方法を使用して.(リリースせずにAlt)を押し続けると、すべてのコマンドの最後の引数が履歴から取得されます。コマンドに引数がない場合、コマンド自体を取得します。一般的に:<command>
Esc.または<command> !*
または<command>
Alt+ .。
前のコマンドのすべての引数、または最後の引数だけが必要な場合は、いくつかのショートカットがあります。
<command> !*
<command> !$
例:
ls foo/ bar/
ls !* # Gives the results of ls foo/ bar/
ls foo/ bar/
ls !$ # Gives the results of ls bar/
前のコマンドの引数リストから単一の引数が必要な場合は、次を使用できます。 <command> !!:<argNumber>
例:
ls foo/ bar/ baz/
ls !!:2 # Gives the results of ls bar/
ls foo/ bar/ baz/
ls !!:1 # Gives the results of ls foo/
!
単一のargバージョンには1つだけが必要です(例:)!:2
。デフォルトのbashを想定しています。
!^
代わりに使用することもできます!:1
。
n
前のコマンドからth引数を取るには、Alt+ n
+と入力しますAlt_。たとえば、後:
$ echo 1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
echo
続けて入力するAlt2Alt_と、次のプロンプトでこれが表示されます。
$ echo 2
ヒットした後の「スクリーンショット」Alt2は次のとおりです。
(arg: 2) echo
Alt_複数回繰り返してn
、前のコマンドのth引数を連続して取得できます。
別の便利なアイデアは、aliasを定義することr="fc -s"
です。次に、コマンドの置換を実行できます。
$ echo 1
1
$ r echo=history
history 1
27755 history 1