이유는 모르겠지만 절대 경로에서 애플리케이션을 호출하면 bash 완료가 작동하지 않습니다.
예를 들어 현재 디렉토리에 file1과 file2가 있습니다.
[zhengw@localhost ~]$ rm -f file<tab><tab>
file1 file2
[zhengw@localhost ~]$ which rm
/bin/rm
[zhengw@localhost ~]$ /bin/rm -f file<tab><tab>
위의 예에서 bash는 첫 번째 명령에서 파일을 자동으로 완성했지만 두 번째 명령에서는 아무것도 반환하지 않았습니다.
또한 다른 명령을 시도한 결과 절대 경로를 사용하면 bash 완료가 작동하지 않는 것으로 나타났습니다.
답변1
그래서 근본 원인을 찾았습니다. 퍼지 검색 기능을 사용하기 위해 vim용 fzf 애플리케이션을 설치했습니다. fzf vim 플러그인의 기본 설치 방법은 bashrc 파일에서 파생된 bash 완료 스크립트를 설치하여 궁극적으로 원래 완료 기능을 엉망으로 만듭니다.
플러그인을 제거하고 --bin 옵션을 사용하여 다시 설치하여 문제를 해결할 수 있었습니다.
해결책:
fzf 플러그인의 설치 방법을 변경합니다(.vimrc에서):
Plug 'junegunn/fzf', {'dir': '~/.fzf', 'do': './install --all' }
도착하다:
Plug 'junegunn/fzf', {'dir': '~/.fzf', 'do': './install --bin' }