Alt + .(점)은 이전 인수 대신 &를 표시합니다.

Alt + .(점)은 이전 인수 대신 &를 표시합니다.

나는 (남용) 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에서 이것을 어떻게 표현하는지 모르겠습니다.

관련 정보