que los hacen como binarios binario archivos archivo abrir vim autocomplete

los - ¿Impide que vim abra archivos binarios accidentalmente?



archivos binarios java (3)

No es exactamente lo que necesita, pero tengo algo como esto en mi .vimrc

" ignore these files when completing names and in Ex set wildignore=.svn,CVS,.git,*.o,*.a,*.class,*.mo,*.la,*.so,*.obj,*.swp,*.jpg,*.png,*.xpm,*.gif,*.pdf,*.bak,*.beam " set of file name suffixes that will be given a lower priority when it comes to matching wildcards set suffixes+=.old

Con frecuencia, abro accidentalmente un ejecutable binario, es decir, "foo", cuando quiero abrir el código fuente asociado "foo.cpp". La raíz del problema es la finalización de la pestaña, es decir :e fo<tab> generalmente aterriza en el binario en lugar del código fuente.

¿Hay alguna manera de hacer que vim solo muestre los nombres completos de los archivos de texto? O, como alternativa, ¿cambia el orden de finalización de la pestaña?

A veces, mi error de finalización de tabulación apresurado ocurre fuera de vim; para esos casos, ¿cuál es la mejor manera de evitar que vim abra archivos que no son de texto?


Para completar la pestaña fuera de vim, eso dependerá de tu caparazón. La mayoría de las shells tienen algún tipo de soporte de autocompletado. En particular, Zsh tiene la capacidad de autocompletar, por ejemplo, hosts remotos para ssh. No soy un mago con estas cosas, pero probablemente sería relativamente sencillo hacer que tu shell coloque los archivos con ciertos sufijos de la lista de autocompletado cuando el comando que estás escribiendo comience con "vim".

Una búsqueda rápida en Google sube esta página , que tiene esto:

# Filename suffixes to ignore during completion (except after rm command) zstyle '':completion:*:*:(^rm):*:*files'' ignored-patterns ''*?.o'' ''*?.c~'' / ''*?.old'' ''*?.pro''

No debería ser demasiado difícil modificar esta lógica para obtener lo que desea (si usa Zsh).