Para o texto comum mais longo, use
:set completeopt+=longest
Para evitar mostrar outras correspondências:
:set completeopt-=menu
<C-N>
/ <C-P>
ainda mostrará as outras correspondências; aprenda a usar <C-E>
para parar a conclusão e voltar ao texto originalmente digitado.
Para o mapeamento:
function s:EnableCompleteMenu()
set completeopt+=menu
return ''
endfunction
inoremap <expr> <SID>EnableCompleteMenu s:EnableCompleteMenu()
inoremap <script> <C-Space> <SID>EnableCompleteMenu<C-N>
Você também pode usar <C-P>
para exibir correspondências na outra direção. Observe que o mapeamento <C-Space>
provavelmente funciona apenas no GVIM. Se você quiser usar isso junto com os comandos acima, você precisa escrever um empacotador similar (com :set completeopt-=menu
) e sobrecarregar os outros comandos de conclusão ( <C-N>
, etc.) com ele.