Word / Código Conclusão em VIM
-
20-08-2019 - |
Pergunta
Eu sei que posso obter a conclusão da palavra através CTRL+N
& CTRL+P
e conclusão de código através omnifunc com CTRL+X
CTRL+O
. I também tentou Supertab (muito bom) , porque eu estou acostumado a TAB-conclusão. Isso tudo funcionou bem. Eu gostaria de ver possíveis correspondências enquanto estou digitando, então eu também tentou autocomplpop. vim , bruxa faz exatamente isso.
O que eu gostaria de realizar, porém, seria uma combinação de ambos, juntamente com uma pequena torção: Eu gostaria de ver sugestões aparecer como tipo I (assim como com autocompop
), mas quando eu uso TAB
a palavra deveria ser expandido única para o maior jogo comum :
foo bar testor booze test baz teter
te<TAB>
Depois que eu digite te
na 2ª linha, o pop-up deve sugerir test
, teter
e testor
.
Ao pressionar TAB
, ele deve fazer nada, porque não há mais pontos em comum do que te
. Depois eu digitei um s
e pressione TAB
adicional, deve expandir tes
para test
(porque é o menor terreno comum) e testor
depois de um segundo TAB
.
Editar : Eu tento ser mais claro ...
-
te<TAB>
- não deve fazer nada porque "nós" não sei se um 't' (te t er) ou um 's' (te s t, te < em> s tor) deve seguir.
-
tes<TAB>
- deve expandir-se para
test
(porque que funcione para ambos - teste e testor - e teter não é mais um possível jogo).
- deve expandir-se para
-
test<TAB>
- deve expandir-se para
testor
(só é possível jogo).
- deve expandir-se para
Bem, o pop-up sugestões é apenas bônus, mas eu realmente gostaria de ver o comportamento TAB
. Espero não chegar ao esotérico aqui e você pode me ajudar com algum script-tricks ou plugins para domar VIM para fazer exatamente isso.
Solução
:set completeopt=longest,menu,preview
talvez?
(Eu não tenho certeza se a sua declaração
"quando eu pressionar TAB, ele deve fazer nada, porque não há terra não mais comum do que te"
conflitos com a sua declaração mais tarde
"para testor depois de um segundo TAB."
Parece-me que não há chão não mais comum do que "teste" em que ponto ... A menos que você quer dizer a primeira guia vai para a mais longa terreno comum, e então o posterior ciclo de guias através das outras partidas, caso em que você é após o que eu tenho acima ...)