나는 (남용) 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+ - Alt+ 1 Alt+는 .첫 번째 매개변수입니다.
나는 가지고있다copy-earlier-word
그것은 일어날 수밖에 없습니다 ESC-,
. ESC-.
기록에서 연속된 명령의 마지막 단어 에 대해 insert를 반복적으로 호출하면 ESC-,
동일한 ESC-.
명령의 이전 단어에 대해 insert가 반복적으로 호출됩니다. 따라서 다음 코드를 사용하면 .zshrc
++를 사용하여 이전 명령의 두 번째 단어를 얻을 수 있습니다.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에서 이것을 어떻게 표현하는지 모르겠습니다.