Linux에서 "java" 명령에 대한 탭 완성

Linux에서 "java" 명령에 대한 탭 완성

터미널에서 Linux 운영 체제에서 vim을 사용하여 Java 프로그램을 작성했습니다. vim을 사용하여 파일 이름의 시작 부분을 입력한 다음 를 눌러
프로그램 이름을 완성할 수 있습니다 . (=> ) 하지만 명령을 사용하여 프로그램을 실행하면 파일 이름에 대한 탭 완성이 없습니다. 을 입력 하고 누를 수 있지만 아무 일도 일어나지 않습니다. 전체 파일 이름을 적어야 합니다. 그렇다면 명령에서 탭을 사용 하거나 파일 이름을 완성하는 것은 작동하지만 명령을 사용하면 작동하지 않는 이유는 무엇입니까? 명령에 대한 탭 완성을 활성화하는 방법이 있습니까 ?vimvim hetabvim helloworld.java

java
java hellowtab

vimmvcdjava
java

답변1

사용하는 쉘에 따라 다릅니다.

모든 명령에는 bash완료 사양(compspec)이 있어야 합니다.

다음을 사용하여 명령 이름에 대한 현재 compspec을 표시할 수 있습니다.

complete -p java
bash: complete: java: no completion specification

간단한 방법(다른 파일에 넣거나 ~/.bashrc별도의 파일로 넣을 수 있음 /etc/bash_completion.d/)은 다음과 같습니다.

complete -o default java

또는 다음과 같은 것을 사용하여 가능한 결과의 범위를 좁힐 수 있습니다.

complete -G "*.jar" java

답변2

명령에 완성 기능을 추가하는 것은 좋은 생각이지만 Esc /기본 상황에 맞는 완성 기능을 사용하는 대신 bash가 파일 이름 완성을 수행하도록 강제할 수 있습니다.tab

관련 정보