zsh
디스크 레이블을 마운트 지점으로 확장하는 기능을 찾고 있습니다 .
예: 내 디스크 DISK-LABEL1
에 레이블이 설치되어 있습니다 /run/media/god/DISK-LABEL1
.
cat //DISK-LA<Tab>
Like: 로 입력을 확장할 수 있는 플러그인이 있습니까 cat /run/media/god/DISK-LABEL1
?
"//"이러한 유형의 자동 완성을 트리거하는 예로 선택되었습니다...
답변1
정말로 완료를 트리거하려면 //
수정해야 할 것 같습니다._path_files
. 나는 그것을 권장하지 않습니다.
아니면 정의하여file-patterns
스타일인데 방법을 모르겠어요.
god
에 대한 디렉토리를 지정 하면 해당 디렉토리를 로 참조 /run/media/god
할 수 있습니다 . ~god
이는 완성 기능 사용 여부에 관계없이 작동합니다. 팁에 표시된 것처럼 부작용이 /run/media/god
있습니다 .~god
hash -d god=/run/media/god
답변2
한 가지 방법은 기다리고 있는 작업을 수행하는 함수를 정의하는 것입니다.
mountbylabel () {
mount /run/media/god/$1
}
그런 .zshrc
다음 완성 함수를 만듭니다.
#compdef mountbylabel
compadd "${(@f)$(ls /run/media/god)}"
_mountbylabel
fpath라는 이름의 파일에 넣으세요. 나는 그 안에 모든 완성 기능 파일을 저장 ~/.zsh/completions/
하고
fpath=(~/.zsh/completions $fpath)
내 .zshrc
.