자동완성 시 현재 디렉터리를 제안하지 않음

자동완성 시 현재 디렉터리를 제안하지 않음

저는 오랫동안 ZSH를 사용하고 있습니다. 이 기능은 오래 전에 있었던 것 같지만 (오래 전에) .zshrc를 다시 작성하여 지금은 이 기능이 가끔 그리워집니다. (물론 너무 오래되어서 메모리 문제가 있을 수도 있습니다.)

내가 원하는 것은 자동 완성(예: 탭 누르기 등)을 할 때 레벨 1(예: "..") 이상에서 시작하면 현재 디렉터리의 제안이 필요하지 않다는 것입니다.

그래서 만약 내가 그렇게 한다면

/usr/share$ cd ../<tab>

그럼 내가아니요내 현재 디렉토리를 제안으로 원함

/usr/share$ cd ../share/

문제는 ZSH에 대한 것이지만 Bash에서도 수행할 수 있는지 알고 싶습니다.

답변1

~에서http://zshwiki.org/home/examples/compsys/ignore#ignore_parent_directory

zstyle ':completion:*:(cd|mv|cp):*' ignore-parents parent pwd

세부정보 도 참조하세요 info zsh ignore-parents. 다음은 zsh 5.4.2에서 재인쇄되었습니다.

부모를 무시하다

 The style is tested without a tag by the function completing
 pathnames in order to determine whether to ignore the names of
 directories already mentioned in the current word, or the name of
 the current working directory.  The value must include one or both
 of the following strings:

 parent
      The name of any directory whose path is already contained in
      the word on the line is ignored.  For example, when completing
      after foo/../, the directory foo will not be considered a
      valid completion.

 pwd
      The name of the current working directory will not be
      completed; hence, for example, completion after ../ will not
      use the name of the current directory.

 In addition, the value may include one or both of:

 ..
      Ignore the specified directories only when the word on the
      line contains the substring '../'.

 directory
      Ignore the specified directories only when names of
      directories are completed, not when completing names of files.

 Excluded values act in a similar fashion to values of the
 ignored-patterns style, so they can be restored to consideration by
 the _ignored completer.

관련 정보