私は(乱用)Alt+を使用して前の.コマンドの最後の引数を復元します(私は次を使用しています)。ZTE):例えば、
$ convert img.png img.pdf
$ llpp (alt + .) # which produces llpp img.pdf
しかし、時には、次のコマンドを使用してPDFを表示します。llpp
$ llpp pdffile.pdf&
それから別のことをしようとするとpdffile.pdf
困難になります。
$ llpp (`Alt` + `.`) # produces llpp &
それでは、+pdffile.pdf
のようなものを使って復元する方法はありますか?Alt.
$ echo $SHELL
/usr/bin/zsh
$ echo $TERM
xterm
答え1
ESC-.
(insert-last-word
)は、スペースで区切られた、またはスペースで区切られたシェルトークン1を、句読点トークンを含む「単語」として扱います&
。
最後の単語以外の単語を取得するには、数値引数を指定できます。正の引数は右から計算されます。Alt++は+と同じです1 Alt.Alt.。Alt+ 2 Alt+.前の単語などをつかみます。Alt+ 0 Alt+は.前の単語であり、負のパラメータは左から続きます。たとえば、++ Alt+は最初のパラメータです。- Alt1 Alt.
私は持っていますcopy-earlier-word
それは起こるしかありませんESC-,
。ESC-.
履歴内の連続したコマンドの最後の単語に対して insert を繰り返し呼び出すと、ESC-,
同じESC-.
コマンドの前の単語に対して insert が繰り返し呼び出されます。したがって、次のコードを使用すると、.zshrc
++を使用して前のコマンドの2番目の単語を取得できます。Alt. Alt,
autoload -U copy-earlier-word
zle -N copy-earlier-word
bindkey '^[,' copy-earlier-word
1この文脈では、「トークン」にはいくつかの合理的な定義があります。この回答では、insert-last-word
「別の単語と見なされるもの」の定義に従います。
答え2
Bashでは、演算の前に数値引数を追加できます。
したがって、willの否定的な議論は-1
議論を解決します。今後。
次のように入力します。
Alt- -- 1 Alt-.
または簡単に:
Alt- - Alt-.
zshでこれをどのように表現するのかわかりません。