uso tutorial modo guardar editar documento commands comando linux vim

linux - tutorial - vim pdf



redirección y vim (10)

Me preguntaba si hay una forma de ver el resultado de cualquier comando, directamente dentro de vim, en lugar de redirigirlo primero a un archivo y luego abrir ese archivo.

Por ejemplo, necesito algo como $ gvim < diff -r dir1/ dir2/

Esto da un mensaje de error de redireccionamiento ambiguo

Solo quiero ver las diferencias entre dir1 y dir2 directamente dentro de gvim.

¿Puede alguien proporcionar un buen truco?


Además, cuando ya está en Vim:

:r! diff file1 file2


Aunque también sugeriría vimdiff o vim -d para el caso de mirar un diff, solo tengo que compartir este enfoque (más general) para usar el uso de vim en pipes: vipe (del paquete moreutils en Ubuntu).

Por ejemplo:

find -name ''* .png'' | vipe | xargs rm

le permitiría editar primero (en vim) la lista de archivos .png encontrados antes de pasarla a xargs rm .



jst use gvimdiff en su lugar
o vimdiff
pegar la salida de un comando directamente en vim, por ejemplo ls, try
:% r! ls


vim -d file1 file2


diff file1 file2 | vim -R -

El -R hace de solo lectura para que no modifique accidentalmente la entrada (que puede ser o no el comportamiento deseado). El guión único le dice a vim que lea su entrada sobre la entrada estándar. Funciona para otros comandos, también.


Puedes hacer esto con

diff -r dir1/ dir2/ | gvim -

la opción '' - '' de vim (o gvim) le dice a vim que abra STDIN


A menudo uso vimdiff -g <file1> <file2>


Una de las maneras más simples y convenientes es hacerlo así:

vimdiff -R <file1> <file2>

De nuevo, el indicador ''-R'' es abrirlo para el modo de solo lectura para evitar cualquier cambio accidental.


Lo que estás buscando se llama sustitución de procesos :

vim <(diff -r dir1/ dir2/)

Pero el complemento DirDiff mencionado por Luc es mucho más útil para comparar directorios.