짧고 달콤한 대답

짧고 달콤한 대답

nm[TAB]zsh로 확장하고 싶습니다 node_modules. 가능합니까? 어떻게 하나요?

이상적으로는 사용 가능한 다른 완료(예: 이미 존재하는 디렉토리)가 있는 경우 nm트리거되지 않고 폴더가 있는 경우에만 실행되고 node_modules경로의 일부인 경우(예: cd nm/mo[TAB]-> ) 완료됩니다 cd node_modules/moment.

답변1

짧고 달콤한 대답

내꺼 써봐zsh-autocomplete끼워 넣다. 이는 다른 많은 유용한 기능뿐만 아니라 즉시 원하는 작업을 수행하도록 Zsh의 완성 시스템을 구성합니다.

더 긴 DIY 답변

Zsh에서 퍼지 완성을 얻으려면 다음을 추가하세요 .zshrc.

zstyle ':completion:*' matcher-list 'r:|?=**'

이것이 하는 일은 입력한 문자열의 어느 위치에나 원하는 수의 문자를 추가할 수 있도록 완성 시스템에 지시하는 것입니다.

다음으로, 원하는 디렉터리 기능을 얻으려면 다음을 추가하세요.

zstyle ':completion:*' accept-exact-dirs true
zstyle ':completion:*' list-suffixes true
  • accept-exact-dirs따라서 두 개의 디렉토리가 있고 nmnode_modules입력 nm하면안 돼요후자를 달성하려고 노력하십시오.
  • list-suffixes입력한 경로에서 첫 번째 부분뿐만 아니라 디렉터리 이름의 모든 부분을 완성하도록 지시합니다.

accept-exact-dirs다른 모든 완성에 대해서도 -style 동작을 얻으려면 다음을 추가하십시오.

zstyle ':completion:*' accept-exact true

자세한 내용은 여기에서 확인할 수 있습니다.http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Standard-Styles

관련 정보