의 menu select
동작을 사용 zsh
하여 다양한 가능성을 볼 수있는 커서 아래의 메뉴를 호출합니다. 내가 설정 한 .zshrc 옵션은
zstyle ':completion:*' menu select=2
기본적 Return
으로이 메뉴에서 가능성을 선택 하려면를 누르면 단어 만 완성됩니다. 실제로 명령을 보내지는 않습니다. 예를 들어 다음과 같은 메뉴가 표시 될 수 있습니다.
~ % cd de<TAB>
completing directory:
[Desktop/] Development/
Return
여기를 누르면
~ % cd Desktop/
그런 다음 명령을 실제로 보내려면 두 번 눌러야 Return
합니다 .
나는 그렇게 눌러 있음을 만들기 위해이 동작을 수정할 수 있습니다 Return
모두 선택을 완료 하고하는 것은 이렇게하여 명령을 전송
bindkey -M menuselect '^M' .accept-line
그러나 이것에 문제가 있습니다 : 때로는 명령 을 보내지 않고 파일이나 디렉토리를 완성해야합니다 . 예를 들어, ln -s Desktop Desktop2
이 bindkey
동작으로 데스크탑을 완성하려고 ln -s Desktop/
하면 명령으로 전송 될 것이므로 분명히 원하지 않습니다.
공간을 누르는 것만으로도 명령을 수행 할 수 있다는 것을 알고 있지만 이제는 습관입니다.
이 경우, 일부 명령 만 Return
한 번만 누르면 cd
되지만 다른 모든 명령은 두 번 눌러야합니까?
.zshrc
파일이 당신이 할 수 없습니다 그럼 대답은 단순히 지원 명령 기반의 행동에 소스 코드를 직접 조정하지 않는 한, 더 될 것 없다. 그러나이 작업을 수행 할 명령을 정의해야합니다.이 명령은 추가 입력을 누르는 것보다 훨씬 지루합니다.