vim: 매핑된 키 입력에 대해 탭 완성 키 보내기

vim: 매핑된 키 입력에 대해 탭 완성 키 보내기

플러그인을 설치하지 않고 버퍼 간을 전환하려면 다음을 입력하는 것이 좋습니다.

:b <tab>

상태 표시줄에 현재 버퍼 이름이 모두 표시되며 커서 키를 사용하여 하나를 선택하고 입력할 수 있습니다.

하지만 :b <tab>은 5번의 키 입력이므로 <leader>에 매핑하고 싶습니다.

그러나 다음 설정은 작동하지 않습니다.

:nnoremap <Leader>. :b <Tab>

상태 표시줄에 ":b ^I"가 표시되고 실제로 상태 표시줄에 버퍼 이름이 열리지 않습니다.

이유를 아는 사람이 있나요?

답변1

설정을 하셔야 합니다 wildcharm. 이 시도:

set wildcharm=<Tab>
nnoremap <leader>. :b <Tab>

적어도 여기서는 작동합니다.

답변2

<tab>나는 그것이 에 대한 실제적인 논쟁이 아닌 것과 관련이 있다고 생각합니다 :b.

탭을 놓으면 메뉴를 열 nnoremap <leader>. :b<space>수 있습니다.<tab>

메뉴를 불러오려면 키를 3번만 눌러야 하지만 <tab>올바른 버퍼를 선택하고 를 누르려면 더 많은 키를 눌러야 할 수도 있습니다 <CR>. 첫 번째 버퍼를 원할 경우 최소 4번의 키 입력이 필요합니다. 이는 꽤 좋지만, 7번째 또는 12번째 버퍼를 원할 경우에는 어떻게 될까요?

다른 방법을 제안해도 될까요?

nnoremap <leader>. :ls<CR>:b<Space>

이 매핑을 사용하면 버퍼 목록( :ls)이 표시되고 :b명령이 시작되어 버퍼 번호를 인수로 기다립니다. 점프하려는 버퍼가 무엇 이든 4번의 키 입력( )입니다 ,.5<CR>(글쎄, 10개 이상의 버퍼가 있으면 5번의 키 입력이지만 요점을 알 수 있습니다).

단일 키를 매핑하는 것 외에 어떻게 더 짧게 만들 수 있는지 모르겠습니다 <F11>.

관련 정보