他のコマンドに同じパラメータを使用する

他のコマンドに同じパラメータを使用する

私がたくさんやっていることは次のとおりです。

less super/long/file/name

以下は:

vim super/long/file/name

前のコマンドの引数を次のコマンドに渡す簡単な方法はありますか?だから私は次のようなことをしたい

vim !!!

super/long/file/name自動的に開くようにしてくださいvim

答え1

前のコマンドの最後の引数だけを希望する場合を使用し、!$最後のコマンドのすべての引数を希望する場合を使用します!*

はい

コマンド#1:

$ echo 1 2 3 4
1 2 3 4

#1を実行したら、次のようにします。

$ echo !$
echo 4
4

#1を実行したら、次のようにします。

$ echo !*
echo 1 2 3 4
1 2 3 4

また、次のUnixとLinuxのQ&Aと@GillesのスーパーユーザーQ&Aも確認してください。

コロン構文

history出力をグリッドと考えることができます。各コマンドは行であり、各コマンドの各パラメーターは列です。次のようになります:(!:)。

したがって、次のように前のコマンドを参照できます。

$ history | grep "105[8-9]"
 1058  echo 1 2 3 4
 1059  echo 5 6 7 8

$ echo !1058:2
echo 2
2
$ echo !1059:3
echo 7
7

答え2

以下を使用して、!$bashシェルから前のコマンドの最後のパラメータにアクセスできる必要があります。

less super/long/file/name
vim !$

readlineライブラリがemacsモード(デフォルトオプション)で有効になっている場合は、Meta+.またはEsc+を使用して最後の引数を貼り付けることもできます。.

答え3

lessMiguel de Val-Borroはあなたの質問に対する正しい一般的な答えを提供しましたが、この特定と順序を頻繁に実行すると言われているので、less内を押して設定エディタを開くことができることにvim言及する価値があります。vLesser Manualからv

Invokes an editor to edit the current file being viewed. The
editor is taken from the environment variable VISUAL if defined,
or EDITOR if VISUAL is not defined, or defaults to "vi" if  nei‐
ther VISUAL nor EDITOR is defined.

答え4

もう一つの可能​​性:

r=super/long/file/name
less $r
vi $r
ls -l $r
chmod 600 $r
cat $r >> some/other/even/longer/file/name
...

super/long/file/name入力内容を保存するには、入力などにタブ補完機能を使用できる必要があります。もちろん、この変数には特別なものはありませんr。単にドル記号キーに近いので、この変数を選択しました。

関連情報