"열기" 탭 완성 제안에서 *://를 억제하는 방법은 무엇입니까?

"열기" 탭 완성 제안에서 *://를 억제하는 방법은 무엇입니까?

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

출력에 따르면 openOS X 시스템의 실행 파일입니다.

따라서 완성 구문을 수정하려면 완성 함수가 어디에 있는지 찾아 수정해야 합니다. (기존 함수를 수정하는 것과 복잡도가 비슷한 방식으로 완성 목록에서 항목을 제거하는 방법을 알 수 없습니다.)

whence -v $_comps[open]완성 함수가 정의된 위치를 찾는 데 사용됩니다 open. 이 파일을 /home/alper/bin/open_completion.zsh와 같이 찾을 수 있는 위치에 복사하세요.

거기서 함수 _urls(제공된 완료 매개변수 함수 file: ftp:// gopher:// http:// https://)를 호출하는 줄을 찾으세요. '*:URL:_urls'일련의 실행 가능한 주장 처럼 보일 수 있습니다 .

명세서를 삭제할 수 있습니다.

그런 다음 zshrc에 로드할 함수를 추가합니다.

관련 정보