A veces, se encontrará en una situación en la que desea realizar cambios en varios archivos. O puede que desee copiar el contenido de un archivo a otro. Si está en modo GUI, puede simplemente abrir los archivos en cualquier editor de texto gráfico, como gedit, y usar CTRL+C y CTRL+V para copiar/pegar el contenido. En el modo CLI, no puede usar dichos editores. ¡No hay problema! ¡Donde hay un editor vim, hay una manera! En este tutorial, vamos a aprender a editar varios archivos al mismo tiempo usando el editor Vim. Confía en mí, ¡esta es una característica muy interesante de Vim!
Instalar Vim en Linux
El editor Vim está disponible en los repositorios oficiales de la mayoría de las distribuciones de Linux. Para que pueda instalarlo usando el administrador de paquetes predeterminado.
Por ejemplo, en Arch Linux y sus variantes puedes instalarlo usando el comando:
$ sudo pacman -S vim
En Debian , Ubuntu :
$ sudo apt-get install vim
En RHEL , Cent OS :
$ sudo yum install vim
En Fedora :
$ sudo dnf install vim
En openSUSE :
$ sudo zypper install vim
Edite varios archivos a la vez usando el editor Vim en Linux
Podría haber muchas formas de editar múltiplos con el editor Vim. Conozco dos métodos.
Método 1
Tengo dos archivos, a saber, file1.txt y archivo2.txt , con un montón de palabras al azar. Vamos a echarles un vistazo.
$ cat file1.txt ostechnix open source technology linux unix
$ cat file2.txt line1 line2 line3 line4 line5
Ahora, editemos estos dos archivos a la vez usando el editor Vim. Para hacerlo, ejecute:
$ vim file1.txt file2.txt
Vim mostrará el contenido de los archivos en un orden. El contenido del primer archivo se mostrará primero y luego el segundo archivo y así sucesivamente.
Editar varios archivos con Vim Editor
Cambiar entre archivos
Para pasar al siguiente archivo, escriba:
:n
Cambiar entre archivos en el editor Vim
Para volver al archivo anterior, escriba:
:N
Aquí, N es mayúscula (Escriba SHIFT+n).
Comience a editar los archivos como lo hace con el editor Vim. Presiona 'i' para cambiar al modo interactivo y modificar los contenidos a tu gusto. Una vez hecho esto, presione ESC para volver al modo normal.
Vim no le permitirá pasar al siguiente archivo si hay cambios sin guardar. Para guardar los cambios en el archivo actual, escriba:
ZZ
Tenga en cuenta que son letras mayúsculas dobles ZZ (MAYÚS+zz).
Para abandonar los cambios y pasar al archivo anterior, escriba:
:N!
Para ver los archivos que se están editando actualmente, escriba:
:buffers
Ver archivos en búfer en VIm
Verá la lista de archivos cargados en la parte inferior.
Lista de archivos en el búfer en Vim
Para cambiar al siguiente archivo, escriba :buffer seguido del número de búfer. Por ejemplo, para cambiar al primer archivo, escriba:
:buffer 1
O simplemente haz:
:b 1
Cambiar al siguiente archivo en Vim
Solo recuerda estos comandos para cambiar fácilmente entre búferes:
:bf # Go to first file. :bl # Go to last file :bn # Go to next file. :bp # Go to previous file. :b number # Go to n'th file (E.g :b 2) :bw # Close current file.
Abrir archivos adicionales para editar
Actualmente estamos editando dos archivos, a saber, file1.txt, file2.txt. Es posible que desee abrir otro archivo llamado file3.txt para editar ¿Qué vas a hacer? ¡Es fácil! Simplemente escriba :e seguido del nombre del archivo como se muestra a continuación.
:e file3.txt
Abra archivos adicionales para editar en Vim
Ahora puede editar file3.txt.
Para ver cuántos archivos se están editando actualmente, escriba:
:buffers
Ver todos los archivos en búferes en Vim
Tenga en cuenta que no puede cambiar entre archivos abiertos con :e utilizando :n o :N . Para cambiar a otro archivo, escriba :buffer seguido del número de búfer del archivo.
Copiar contenidos de un archivo a otro
Sabe cómo abrir y editar varios archivos al mismo tiempo. A veces, es posible que desee copiar el contenido de un archivo en otro. También es posible. Cambie a un archivo de su elección. Por ejemplo, supongamos que desea copiar el contenido del archivo1.txt en el archivo2.txt.
Para hacerlo, primero cambie a file1.txt:
:buffer 1
Coloque el cursor de movimiento delante de una línea que desee copiar y escriba yy para tirar (copiar) la línea. Luego, ve al archivo2.txt:
:buffer 2
Coloque el cursor del mouse donde desee pegar las líneas copiadas del archivo1.txt y escriba p . Por ejemplo, desea pegar la línea copiada entre la línea 2 y la línea 3. Para hacerlo, coloque el cursor del mouse antes de la línea y escriba p .
Salida de muestra:
line1 line2 ostechnix line3 line4 line5
Copiar contenidos de un archivo a otro archivo usando Vim
Para guardar los cambios realizados en el archivo actual, escriba:
ZZ
Nuevamente, tenga en cuenta que esto es ZZ doble mayúscula (MAYÚS+z).
Para guardar los cambios en todos los archivos y salir del editor vim. tipo:
:wq
Del mismo modo, puede copiar cualquier línea de cualquier archivo a otros archivos.
Copiar todo el contenido del archivo en otro
Sabemos cómo copiar una sola línea. ¿Qué pasa con todo el contenido del archivo? Eso también es posible. Digamos que desea copiar todo el contenido de file1.txt en file2.txt.
Para hacerlo, abra primero el archivo 2.txt:
$ vim file2.txt
Si los archivos ya están cargados, puede cambiar a file2.txt escribiendo:
:buffer 2
Mueva el cursor al lugar donde desea copiar el contenido del archivo1.txt. Quiero copiar el contenido del archivo 1.txt después de la línea 5 en el archivo 2.txt, así que moví el cursor a la línea 5. Luego, escriba el siguiente comando y presione la tecla ENTER:
:r file1.txt
Copiar todo el contenido de un archivo en otro archivo
Aquí, r significa leer .
Ahora verá que el contenido del archivo 1.txt se pega después de la línea 5 en el archivo 2.txt.
line1 line2 line3 line4 line5 ostechnix open source technology linux unix
Copiar el contenido completo del archivo en otro archivo usando Vim
Para guardar los cambios en el archivo actual, escriba:
ZZ
Para guardar todos los cambios en todos los archivos cargados y salir del editor vim, escriba:
:wq
Método 2
El otro método para abrir varios archivos a la vez es usando -o o -O banderas.
Para abrir varios archivos en ventanas horizontales, ejecute:
$ vim -o file1.txt file2.txt
Abra varios archivos a la vez en Vim
Para cambiar entre ventanas, presione CTRL-w w (es decir, presione CTRL+w y presione nuevamente w ). O use los siguientes atajos para moverse entre ventanas.
- CTRL-wk - ventana superior
- CTRL-w j - ventana inferior
Para abrir varios archivos en ventanas verticales, ejecute:
$ vim -O file1.txt file2.txt file3.txt
Abra múltiples archivos en ventanas verticales en Vim
Para cambiar entre ventanas, presione CTRL-w w (es decir, presione CTRL+w y presione nuevamente w ). O use los siguientes atajos para moverse entre ventanas.
- CTRL-w l - ventana izquierda
- CTRL-w h - ventana derecha
Todo lo demás es igual que se describe en el método 1.
Por ejemplo, para enumerar los archivos cargados actualmente, ejecute:
:buffers
Para cambiar entre archivos:
:buffer 1
Para abrir un archivo adicional, escriba:
:e file3.txt
Para copiar todo el contenido de un archivo en otro:
:r file1.txt
La única diferencia en el método 2 es una vez que guardó los cambios en el archivo actual usando ZZ , el archivo se cerrará automáticamente. Además, debe cerrar los archivos uno por uno escribiendo :wq . Pero, si hubiera seguido el método 1, al escribir :wq todos los cambios se guardarán en todos los archivos y todos los archivos se cerrarán a la vez.
Para obtener más detalles, consulte las páginas man.
$ man vim
Lectura sugerida:
- Cómo comentar varias líneas a la vez en Vim Editor
- Cómo administrar los complementos de Vim usando Vundle en Linux
- Cómo utilizar la función de revisión ortográfica en el editor de texto Vim
Ahora sabe cómo editar múltiples archivos usando el editor vim en Linux. Como puede ver, editar varios archivos no es tan difícil. El editor Vim tiene funciones más potentes.
Escribiremos más consejos de Vim en los próximos días. ¡Estén atentos!