私は次のように入力します。
mv foo/bar/poit/zoid/narf.txt
突然、私はそのパラメータのほとんどを再入力する必要があることに気づきました。
mv foo/bar/poit/zoid/narf.txt foo/bar/poit/zoid/troz.txt
タップが完成しても、これはかなり痛いです。マウスでテキストを選択し、マウスの中央ボタンをクリックしてパラメータをコピーして貼り付けることができることを知っていますが、それだけでは不十分です。キーボードに手を載せたい。
キーボードを使用してその行の現在のパラメータをコピーして貼り付ける方法はありますか?
答え1
履歴拡張は、実際には次のコマンドを使用して現在のコマンドでも機能します。イベントインジケータ !#
。これを比較する単語インジケーター最後のパラメータの場合は、$
入力したパラメータを取得します。
正規表現をすべて使用できます。修飾子たとえば、リモートディレクトリにあるファイルの名前を変更するには、次のように入力します。
mv path/you/do/not/want/to/type/twice/oldname !#$:h/newname
答え2
あらかじめ計画を立てたら利用します支柱の拡張。この場合:
mv foo/bar/poit/zoid/{narf,troz}.txt
readline
デフォルトのキーボードショートカットを使用する別の方法は次のとおりです。
mv foo/bar/poit/soid/narf.txt
:スタート- Ctrl- w:
unix-word-rubout
削除foo/bar/poit/soid/narf.txt
- Ctrl- y, Space, Ctrl- y:
yank
、空白、yank
再インポートmv foo/bar/poit/soid/narf.txt foo/bar/poit/soid/narf.txt
- Meta- backspace, Meta- backspace:
backward-kill-word
最後の項目を2回削除します。narf.txt
troz.txt
:別の末尾の部分を入力してください。
シェルを使用するのに多くの時間を費やしている場合は、基本的なbash
ショートカットリストを定期的に読んで学習し、日常生活に適用するのに役立つようなものを選択することをお勧めします。 bash
マニュアル8章良い出発点です。近道を知ることで効率が大幅に向上することがあります。
答え3
あなたの例に示すように、次の設定を使用できます。
mv foo/bar/poit/zoid/{narf.txt,troz.txt}
でも(提案通りアンスガエステルのみ):
mv foo/bar/poit/zoid/{narf,troz}.txt
長いアドレスを2回入力/コピーして貼り付ける代わりに。
答え4
少し遊んだ後、次のように動作しました。
mv foo/bar/poit/zoid/narf.txt
Enter
最後のパラメータを保存するにはクリックしてください。
これで↑、最後に入力したコンテンツを取得するために使用されます。スペースを入力し、最後に使用された引数を取得します。
Alt+.
私はエラーを投げるのが嫌いですが、このユースケースでは正しく動作します。