Tab-parcial parcial do tipo Bash para nomes de arquivos no Vim

16

No Bash, quando existem vários arquivos com o mesmo prefixo e digito parte do prefixo e hit Tab, ele preenche o prefixo comum e permite que eu continue digitando para diferenciar os resultados possíveis.

No Vim, quando existem vários arquivos com o mesmo prefixo e digito parte do prefixo e hit Tab, ele conclui a primeira correspondência inteira e permite que eu selecione entre todas as correspondências. Para reduzir o conjunto, tenho que retroceder até chegar ao final da parte comum, depois digitar um pouco mais e pressionar Tabnovamente.

Geralmente, tenho muitos arquivos em que há um prefixo comum longo e o arquivo que eu quero não está entre os primeiros (por exemplo, um diretório de arquivos de projeto contendo, entre outras coisas, vários makefiles, todos com o nome Makefile.{whatever}).

Posso fazer o Vim ser mais parecido com o Bash para salvar muitas pressionamentos de tecla?

Bônus se isso também puder ser aplicado a outras conclusões (por exemplo, valores de enumeração com todos o mesmo prefixo)

John O'M.
fonte

Respostas:

16

Você pode usar a wildmodeopção para controlar isso.

Se você usar :set wildmode=list:longest, obtém um comportamento semelhante ao bash.

Eu pessoalmente prefiro usar :set wildmode=list:longest,full; isso listará as conclusões, mas no segundo Tab pressionamento, você pode alternar entre as entradas (e Shift+Tabalternar no sentido inverso).

Isso se aplica a todas as conclusões feitas pelo Vim.

Vejo: :help 'wildmode'

Martin Tournoij
fonte
3
Não inserir conclusões do modo! Você precisa completeoptdisso.
Rich
Obrigado! wildmode e completeopt são exatamente o que eu estava procurando!
John O'M.