Bashでset -o vi
設定を使用します。ここでのショートカットAlt+.
(前のコマンドの最後の引数を思い出す)はemacsモードのように機能しないので、viと同等のものは何ですか?
set -o vi
の後にこの行を追加します:
bind -m vi-command ".":yank-last-argument # or insert-last-argument
その後、あなたは使用することができます Alt+. emacsモードのように。
または、履歴拡張を使用して、両方で機能します。
!$:p
最後のコマンドの最後の引数を取得するには、さまざまな方法があります。
次のコードを~/.inputrc
ファイルにコピーします
set editing-mode vi
# Insert Mode
set keymap vi-insert
"\e.":yank-last-arg
"\e_": yank-last-arg
my inputrc file を使用できます。そしてここに insert-last-argument
と yank-last-arg
のinputrcマニュアル
例えば:
┌─ (marslo@MarsloJiao ~) ->
└─ # echo arg1 arg2 arg3 arg4 arg5
arg1 arg2 arg3 arg4 arg5
┌─ (marslo@MarsloJiao ~) ->
└─ # echo !$
echo arg5
arg5
┌─ (marslo@MarsloJiao ~) ->
└─ # echo arg1 arg2 arg3 arg4 arg5
arg1 arg2 arg3 arg4 arg5
┌─ (marslo@MarsloJiao ~) ->
└─ # echo !!:$
echo arg5
arg5
┌─ (marslo@MarsloJiao ~) ->
└─ # echo arg1 arg2 arg3 arg4 arg5
arg1 arg2 arg3 arg4 arg5
┌─ (marslo@MarsloJiao ~) ->
└─ # echo !!:^
echo arg1
arg1
┌─ (marslo@MarsloJiao ~) ->
└─ # echo arg1 arg2 arg3 arg4 arg5
arg1 arg2 arg3 arg4 arg5
┌─ (marslo@MarsloJiao ~) ->
└─ # echo !!:2-4
echo arg2 arg3 arg4
arg2 arg3 arg4
Shell Word Designator のマニュアルは以下を示しています:
!!:$
designates the last argument of the preceding command. This may be shortened to !$.
0 (zero)
The 0th Word. For many applications, this is the command Word.
n
The nth Word.
^
The first argument; that is, Word 1.
$
The last argument.
%
The Word matched by the most recent ‘?string?’ search.
x-y
A range of words; ‘-y’ abbreviates ‘0-y’.
*
0番目を除くすべての単語。これは「1- $」の同義語です。イベントに単語が1つしかない場合は、「」を使用してもエラーにはなりません。その場合、空の文字列が返されます。 x
Abbreviates ‘x-$’
バツ-
Abbreviates ‘x-$’ like ‘x*’, but omits the last Word.
例えば:
┌─ (marslo@MarsloJiao ~) ->
└─ # echo very-very-very-very-very-long-argument
very-very-very-very-very-long-argument
┌─ (marslo@MarsloJiao ~) ->
└─ # echo $_
very-very-very-very-very-long-argument
┌─ (marslo@MarsloJiao ~) ->
└─ # ls /usr/local/etc/
┌─ (marslo@MarsloJiao ~) ->
└─ # cd $_
┌─ (marslo@MarsloJiao /usr/local/etc) ->
└─ #
シェル特殊パラメータ のマニュアル:
_
(アンダースコア。)シェルの起動時に、環境または引数リストで渡されたとおりに実行されているシェルまたはシェルスクリプトを呼び出すために使用される絶対パス名に設定します。続いて、展開後、前のコマンドの最後の引数に展開します。また、実行され、そのコマンドにエクスポートされた環境に配置された各コマンドを呼び出すために使用される絶対パス名に設定します。メールをチェックするとき、このパラメータはメールファイルの名前を保持します。