Tab completo parziale simile a un bash per i nomi dei file in Vim


16

In Bash, quando ci sono diversi file con lo stesso prefisso e io digito parte del prefisso e premo Tab, completa il prefisso comune e mi permette di continuare a digitare per differenziare tra i possibili risultati.

In Vim, quando ci sono diversi file con lo stesso prefisso e io digito parte del prefisso e premo Tab, completa l'intera prima corrispondenza e mi consente quindi di selezionare tra tutte le corrispondenze. Per ridurre il set, devo tornare indietro fino a quando non arrivo alla fine della parte comune, quindi scrivo ancora un po 'e premo di Tabnuovo.

Ho spesso molti file in cui esiste un lungo prefisso comune e il file che desidero non è tra i primi (ad esempio, una directory di file di progetto contenente, tra le altre cose, vari makefile tutti con il nome Makefile.{whatever}).

Posso rendere Vim completo più come Bash per salvare molte sequenze di tasti?

Bonus se questo può applicarsi anche ad altri completamenti (ad esempio, i valori enum che hanno tutti lo stesso prefisso)

Risposte:


16

È possibile utilizzare l' wildmodeopzione per controllare questo.

Se lo usi :set wildmode=list:longest, ottieni un comportamento simile a bash.

Personalmente preferisco usare :set wildmode=list:longest,full; questo elencherà i completamenti, ma alla seconda Tab pressione, è possibile scorrere tra le voci (e Shift+Tabscorrere al contrario).

Questo vale per tutti i completamenti effettuati da Vim.

Vedere: :help 'wildmode'


3
Non inserire i completamenti della modalità! Ne hai bisogno completeopt.
Ricco

Grazie! wildmode e completeopt sono esattamente quello che stavo cercando!
John O'M.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.