Pestaña parcial completa tipo bash para nombres de archivo en Vim


16

En Bash, cuando hay varios archivos con el mismo prefijo y escribo parte del prefijo y presiono Tab, completa el prefijo común y me permite continuar escribiendo para diferenciar entre los posibles resultados.

En Vim, cuando hay varios archivos con el mismo prefijo y escribo parte del prefijo y presiono Tab, completa toda la primera coincidencia y me permite seleccionar entre todas las coincidencias. Para reducir el conjunto, tengo que retroceder hasta llegar al final de la parte común, luego escribir un poco más y presionar Tabnuevamente.

A menudo tengo muchos archivos donde hay un prefijo común largo, y el archivo que quiero no está entre los primeros (por ejemplo, un directorio de archivos de proyecto que contiene, entre otras cosas, varios archivos MAKE todos con el nombre Makefile.{whatever}).

¿Puedo hacer que Vim se complete más como Bash para guardar muchas pulsaciones de teclas?

Bonificación si esto puede aplicarse también a otras terminaciones (por ejemplo, valores de enumeración que tienen el mismo prefijo)

Respuestas:


16

Puede usar la wildmodeopción para controlar esto.

Si lo usas :set wildmode=list:longest, obtienes un comportamiento similar a bash.

Yo personalmente prefiero usar :set wildmode=list:longest,full; Esto mostrará una lista de las finalizaciones, pero en la segunda Tab pulsación, puede alternar entre las entradas (y Shift+Taben el reverso).

Esto se aplica a todas las terminaciones realizadas por Vim.

Ver: :help 'wildmode'


3
¡No insertar terminaciones de modo! Necesitas completeoptpara eso.
Rico

¡Gracias! ¡wildmode y completeopt son exactamente lo que estaba buscando!
John O'M.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.