bash에서 Vim의 입력 파일 이름으로 클립보드를 얻는 방법은 무엇입니까?

bash에서 Vim의 입력 파일 이름으로 클립보드를 얻는 방법은 무엇입니까?

시스템 클립보드에 대한 액세스 권한을 설치했으며 xclip설정 및 일부 작업은 다음과 같습니다.

➜  ~ cat .zshrc | grep xclip
alias c="xclip -selection c"
alias v="xclip -selection c -o"
➜  ~ which dict | c
➜  ~ v       
/usr/bin/dict
➜  ~ sudo vim ??  

/usr/bin/dict파이썬 스크립트입니다. 내가 알고 싶은 것은 ??vim을 사용하여 파일을 열 때 마지막 명령 대신 무엇을 사용할 수 있느냐 는 것 /usr/bin/dict입니다.

답변1

현재 설정을 고려하면

sudo vim "$(v)"

사용할 것이다명령 대체별칭을 실행 v하고 실행하기 전에 실행하려는 명령줄에 해당 출력을 삽입하면 sudo vim /usr/bin/dict결국 실행됩니다. 따옴표는 단일 인수로 표시되도록 하고 $(...)명령 실행 및 출력 캡처를 처리합니다.

별칭은 다른 곳에서는 사용되지 않으므로 이는 대화형 셸에서만 작동합니다. 스크립트에서 액세스하려면 PATH변수 어딘가에 작은 스크립트를 만들고 그 안에 동일한 명령을 사용할 수 있습니다.


태그를 지정했습니다.그러나 발췌문이 표시되므로 .zshrczsh에는 "전역 별칭”는 어디든 확장됩니다.

alias -g v='"$(xclip -selection c -o)"'

그러면 sudo vim v자유롭게 달릴 수 있습니다. 전역 별칭은 거의 항상 가치보다 문제가 더 많기 때문에 권장하지 않지만 사용 패턴에 따라 다릅니다.일부전역 별칭이 편리할 수 있습니다(이렇게 하면 더 길고 특이한 이름을 권장합니다. 이상한 구두점을 넣으면 실수로 실행되는 것을 방지하는 데 도움이 alias -g v# ...됩니다 @v) ^v.

관련 정보