2017-03-24 21 views
1

홈 디렉토리에 폴더가 있습니다 : hdd -> /hdd.심볼릭 링크에서 Zsh ls 탭 완료가 심볼릭 링크를 따르지 않습니다

ls -l hdd 출력 hdd -> /hdd. 나는 심볼릭 링크를 따라 가면서 /hdd의 내용을 보여줄 것을 기대했지만 이것이 주요 포인트는 아닙니다.

ls -l hdd/은 예상대로 내용을 /hdd으로 출력합니다. 다음 ls -l hdd/을 표시하는 탭 완성 다음

ls -l hd 다음 ENTER을 타격하는 명령 ls -l hdd, 하지ls -l hdd/를 실행합니다. 따라서 /hdd의 내용이 아닌 hdd -> /hdd이 표시됩니다.

ls -l hdd 탭이 완료 될 때 명령이 실행되면 ls -l hdd/이 완료됩니까? 일반적으로 선호되는 행동은 무엇입니까? 완료하지 않고 수동으로 ls -l hdd/을 입력하면 물론 /hdd의 내용이 표시됩니다.

답변

1

이 사용이 기본적으로있는 옵션 AUTO_REMOVE_SLASH, 때문이다 :

AUTO_REMOVE_SLASH 완료로 인한 마지막 문자가 슬래시 입력 한 다음 문자 단어 구분 기호입니다
, 슬래시 또는 명령을 끝내는 문자 (예 : 세미콜론이나 앰퍼샌드)를 사용하여 슬래시를 제거하십시오. 자동으로 제거 할

당신은 또한 슬래시를 강조 zle를 구성 (다른 접미사 - - 구성에 따라 등) 할 수 있습니다

setop noautoremoveslash 

으로 비활성화 할 수 있습니다. 예를 들어이 핑크와 굵게 :

zle_highlight[(r)suffix:*]="suffix:fg=magenta,bold" 

:이 외부 zsh-syntax-highlighting plugin와 함께 작동하지 않을 수 있습니다.