문제

원해요 정력Visual Studio의 것과 비슷하게 작동하는 완성 메뉴. 변수의 시작 (또는 완료 가능한 것)의 시작을 작성하고 Omni-Completion 키를 누르고 완료 메뉴를 얻을 수 있기를 원합니다. 이제 완료 메뉴가 최상의 일치를 강조 표시하지만 버퍼에 추가하지 않기를 원합니다. 이제 선택한 요소를 입력하기 위해 Enter를 누르거나 더 많은 문자를 입력하여 완료 메뉴를 더 많이 필터링 한 다음 (완료 메뉴에서 새 항목을 강조 표시 할 수 있음) Enter를 누르기 위해 Enter.

위키 페이지/팁 http://vim.wikia.com/wiki/make_vim_completion_popup_menu_work_just_in_an_ide 이것을해야하지만 나는 그것을 작동시킬 수 없습니다. 다른 사람이 그 팁에서 코드를 시도하고 내가 설명하는대로 작동하게 했습니까?

도움이 되었습니까?

해결책

참조 된 위키 페이지에는 깨진 매핑이 포함되어 있습니다. 사용자 (SPIIPH)는 VIM 코드를 자신에게 더 좋아 보이지만 옳지 않은 것으로 변경했습니다. 나는 그가 만든 변화를 뒤집었다 Inoremap 진술이 작동해야합니다.

혼란을 피하기 위해 이것은 올바른 명령입니다.

inoremap <expr> <c-n> pumvisible() ? "\<lt>c-n>" : "\<lt>c-n>\<lt>c-r>=pumvisible() ? \"\\<lt>down>\" : \"\"\<lt>cr>"
inoremap <expr> <m-;> pumvisible() ? "\<lt>c-n>" : "\<lt>c-x>\<lt>c-o>\<lt>c-n>\<lt>c-p>\<lt>c-r>=pumvisible() ? \"\\<lt>down>\" : \"\"\<lt>cr>"

추신 : Vim의 완성 기능을 사용하는 데있어 슈퍼 탭 스크립트매우 편리합니다. 어쩌면이 스크립트는이 맥락에서 당신에게도 흥미로울 것입니다 ...

다른 팁

나는 정말로 좋아하는 SuperTab을 사용하고 다음은 훌륭하게 작동하는 것 같습니다.

imap <expr> <Tab> pumvisible() ? "<Tab>" : "<Tab><Down>"

참조 : 나는 Debian Sid를 운영하고 있으며 VIM 7.2.245와 패치 7.2.259에서 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top