¿Cómo elimino el mensaje "2 archivos para editar" en vimdiff?


11

'vimdiff ab' siempre imprime "2 archivos para editar". No quiero ver eso. ¿Cómo puedo evitarlo?

Aquí hay un ejemplo:

⚡ vimdiff  a b                                                                                                                               
2 files to edit

Quiero usar vimdiff desde un script bash y no quiero ver esta salida


1
Por supuesto, podrías lanzarlo con 2>/dev/null. ¿Por qué necesitas esto? Parece una molestia menor. Oh, en una nota completamente irrelevante, ¿podrías compartir tu $ PS1? ¿Cuál es el personaje que estás usando como aviso?
terdon

1
vimdiff ab 2> / dev / null no me funciona.
Eric Johnson

Solo estoy pegando el carácter Unicode allí. Mi $ PS1 se define aquí: github.com/kablamo/dotfiles/blob/master/links/.bash/prompt.sh
Eric Johnson

Genial gracias :). Y tiene razón, la redirección de STDERR no parece funcionar. Pensé que sí, pero simplemente no vi la línea.
terdon 01 de

La respuesta parece estar aquí . Asegúrate de leer los comentarios.
terdon

Respuestas:


3

Mirando a través de la fuente vim, parece que ese mensaje solo se puede suprimir al iniciar el ejecutable como exy utilizando su -sopción, o al no tener una consola.

Ningún enfoque funcionará para diferir.

Sin embargo, el mensaje solo se emite si hay más de un archivo especificado en la línea de comando.

Así que engañémoslo:

vim a -c "vert diffsplit b"

Lo que básicamente dice "Editar archivo de una con vim, y una vez que una se carga, abrir una división vertical con el archivo B y las Diferencias".


Hey eso funciona! ¡Genial gracias! Ahora recuerdo dónde era que quería esto. La buena noticia es que creo que sigue siendo información útil para mí.
Eric Johnson

Si su segundo archivo tiene un espacio en la ruta o el nombre de archivo, esta solución no funciona. Trabajé alrededor de esto llamando a vim con la bandera -d y enviando resultados a / dev / null, de esta manera (Las comillas pasarán correctamente los argumentos con espacios): vim -d "$ a" "$ b"> / dev / null
DevDaddyNick

@DevDaddyNick ¿No te oculta eso completamente? Lo hace para mí, utilizando zshcomo mi shell, con oh-my-zshconfiguración basada.
codelahoma

Sí, descubrí más tarde que mi solución solo funciona cuando no estás usando Vim en la terminal. Estaba usando Macvim, pero la próxima vez que probé esta solución cuando SSH había entrado en otra máquina, suprimió completamente a Vim.
DevDaddyNick

Para cualquier otra persona que desee profundizar en el código, la línea relevante en el código a partir de la fecha de hoy está aquí en main.c
xdhmoore


-1

De acuerdo con esta publicación en SO, configurar esto en su vimrc debería hacer el truco:

set shortmess=filnxtToO

3
Lo siento, esto tampoco funciona para mí, incluso cuando uso --noplugin. Todavía recibo un mensaje. No estoy hablando del mensaje en el editor. Después de cerrar el editor, hay un mensaje y eso es de lo que quiero deshacerme. Gracias sin embargo
Eric Johnson
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.