OS X
나는 이것을 쉘에서 경험했습니다 zsh
.맨페이지 열기.
$ type open
open is /usr/bin/open
$ man open
OPEN(1) General Commands
Manual OPEN(1)
NAME
open – open files and directories
탭을 입력 open
하고 입력하면 다음 출력이 표시됩니다.
$ open
file: ftp:// gopher:// http:// https://
file:
나는 , ftp://
, gopher://
, http://
을 열려고 시도한 적이 없으므로 https://
단지 그것들을 억제하고 싶습니다. 이를 억제하고 파일/폴더 이름만 볼 수 있습니까?
답변1
출력에 따르면 open
OS X 시스템의 실행 파일입니다.
따라서 완성 구문을 수정하려면 완성 함수가 어디에 있는지 찾아 수정해야 합니다. (기존 함수를 수정하는 것과 복잡도가 비슷한 방식으로 완성 목록에서 항목을 제거하는 방법을 알 수 없습니다.)
whence -v $_comps[open]
완성 함수가 정의된 위치를 찾는 데 사용됩니다 open
. 이 파일을 /home/alper/bin/open_completion.zsh와 같이 찾을 수 있는 위치에 복사하세요.
거기서 함수 _urls
(제공된 완료 매개변수 함수 file: ftp:// gopher:// http:// https://
)를 호출하는 줄을 찾으세요. '*:URL:_urls'
일련의 실행 가능한 주장 처럼 보일 수 있습니다 .
명세서를 삭제할 수 있습니다.
그런 다음 zshrc에 로드할 함수를 추가합니다.