Vim이 파일 이름에 대해 정상적인 탭처럼 ​​완성되도록하려면 어떻게해야합니까?


289

Vim에서 새 파일을 열 때 탭 완성을 사용하면 Bash처럼 부분 일치를 수행하는 대신 전체 파일 이름을 완성합니다. 이 파일 이름 탭 완성을 Bash처럼 작동하게하는 옵션이 있습니까?


10
기술적으로 말하면, "bash"는 탭 완성을하지 않습니다. 그것을하는 것은 readline입니다.
Maxy-B

2
^ X ^ F 기능의 동작을 사용자 정의하는 것에 대해 이야기하고 있습니까?
BrunoJCM

답변:


413

나는 개인적으로 사용

set wildmode=longest,list,full
set wildmenu

첫 번째 탭 적중을 입력하면 가능한 한 많이 완료됩니다. 두 번째 탭 히트는 목록을 제공합니다. 세 번째 및 이후 탭은 완료 옵션을 순환하므로 추가 키없이 파일을 완료 할 수 있습니다.

배쉬 같은 것

set wildmode=longest,list 

그러나 전체는 매우 편리합니다.


1
이것이 vim의 기본 동작이기를 바랍니다. 나는이 게시물을 볼 때까지 전체 탭 완성을 돌보지 못했습니다.
Neha Karanjkar

6
@NehaKaranjkar 새로운 환경에 쉽게 배포 할 수 있도록 도트 파일 아카이브를 유지하는 것이 좋습니다.
michael

2
결과가 거의 없을 때만 완전히 시작할 수있는 방법이 있습니까? 같은 set wildmode=longest,5full,list. 많은 결과가 가득하면 쓸모는 없지만 몇 가지로 매우 편리합니다. "완료가 한 줄 화면에 맞는 경우에만 전체 표시"와 같이 완벽 할 것입니다.
albfan

1
이것은 과거에는 작동했지만 (gVim / ubuntu) 이제는 작동하지 않습니다 (macvim8.x / macOS). 예를 참조하십시오 . 어떤 아이디어?
Paschalis

1
2 개월 동안 출발지 탭 완성을 허용 한 후 단순화하는 방법이 있어야한다고 생각합니다. 감사합니다.
ramwin

23

Bash의 완성에 가장 가까운 행동은

set wildmode=longest:full,full

문자 몇 개를 입력 한 상태에서 Tab 키를 한 번 누르면에서 사용할 수있는 모든 항목이 제공됩니다 wildmenu. 이것은 명령 줄 아래에 빠른 수정 같은 창을 여는 Michael 의 대답과 다릅니다 .

그런 다음 나머지 문자를 계속 입력하거나 Tab 키를 다시 눌러 첫 번째 일치 항목과 동그라미로 자동 완성하십시오.


나는이 방법을 선호한다고 생각합니다.
Eddy Ekofo

8

와일드 메뉴를 설정하지 않으려면 파일을 열 때 항상 Ctrl+를 누를 수 있습니다 L. Ctrl+ LBash 완성과 같은 파일 이름을 완성합니다.


Ctrl-L은 bash 자동 완성처럼 작동하지 않습니다. 가능한 모든 옵션을 순환하지는 않습니다.
raine

2
내 배쉬 가 그렇게 행동합니다. Vim에서 <Tab>와 같이 명백하게 가능한 한 현재 문자열을 완성하고 CTRL-LVim에서 와 같이 <Tab><Tab>가능한 일치 목록을 표시합니다 CTRL-D.
glts

8

제안 된 와일드 모드 / 와일드 메뉴 외에도 Vim은 Ctrl+ 를 사용하여 가능한 모든 완료를 표시하는 옵션을 제공합니다 D. 이것은 Vim에서 다른 자동 완성 옵션을 검색 할 때이 질문을 우연히 발견 한 일부 사용자에게 도움이 될 수 있습니다.


4

Vim에서 Ctrl+ N를 통해 자동 완성을 사용 하여 현재 버퍼를 검색 한다고 가정합니다 . 이 명령을 사용하면 솔루션 목록이 표시됩니다. 명령을 반복하여 목록의 다음 항목으로 이동하십시오. 모든 자동 완성 명령에 대해서도 마찬가지입니다. 전체 단어를 채우는 동안 사용하려는 단어에 도달 할 때까지 목록을 계속 이동할 수 있습니다.

이것은 더 유용한 명령이 될 수 있습니다 : Ctrl+ P. 유일한 차이점은 Ctrl+ P는 버퍼에서 뒤로 검색하고 Ctrl+ N는 앞으로 검색한다는 것입니다 ... 사실, 둘 다 동일한 요소가 포함 된 목록을 제공하며 다른 순서로 나타날 수 있습니다.


0

를 사용해보십시오 :set wildmenu. 그 외에도, 당신이 정확히 무엇을 시도하는지 잘 모르겠습니다.

아, 아마도이 링크를 시도해보십시오 : link

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.