Antworten:
Fügen Sie diese Zeile hinzu nach set -o vi
:
bind -m vi-command ".":yank-last-argument # or insert-last-argument
Dann können Sie Alt+ .wie im Emacs-Modus verwenden.
Oder verwenden Sie die Verlaufserweiterung und arbeiten Sie in beiden Bereichen:
!$:p
yank-last-arg
.
Es gibt verschiedene Methoden, um das letzte Argument des letzten Befehls abzurufen:
Kopieren Sie den folgenden Code in Ihre ~/.inputrc
Datei
set editing-mode vi
# Insert Mode
set keymap vi-insert
"\e.":yank-last-arg
"\e_": yank-last-arg
Sie können meine inputrc-Datei verwenden . Und hier das inputrc Handbuch für insert-last-argument
undyank-last-arg
Zum Beispiel:
┌─ (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
Das Handbuch von Shell Word Designator zeigt:
!!: $
designates the last argument of the preceding command. This may be shortened to !$.
0 (Null)
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.
xy
A range of words; ‘-y’ abbreviates ‘0-y’.
* *
Alle Wörter außer dem 0 .. Dies ist ein Synonym für '1- $'. Es ist kein Fehler, ' ' zu verwenden, wenn das Ereignis nur ein Wort enthält. In diesem Fall wird die leere Zeichenfolge zurückgegeben. x
Abbreviates ‘x-$’
x-
Abbreviates ‘x-$’ like ‘x*’, but omits the last word.
Zum Beispiel:
┌─ (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) ->
└─ #
Im Handbuch von Shell Special Parameters :
_
(Ein Unterstrich.) Setzen Sie beim Start der Shell den absoluten Pfadnamen, der zum Aufrufen der Shell oder des Shell-Skripts verwendet wird, die bzw. das in der Umgebungs- oder Argumentliste übergeben wird. Erweitert anschließend nach der Erweiterung zum letzten Argument des vorherigen Befehls. Stellen Sie außerdem den vollständigen Pfadnamen ein, der zum Aufrufen jedes ausgeführten und in die in diesen Befehl exportierte Umgebung platzierten Befehls verwendet wird. Beim Überprüfen von E-Mails enthält dieser Parameter den Namen der E-Mail-Datei.