Cómo trabajar eficazmente con varios archivos en Vim
Empecé a usar Vim para desarrollar scripts en Perl y empiezo a encontrarlo muy poderoso.
Una cosa que me gusta es poder abrir varios archivos a la vez con:
vi main.pl maintenance.pl
y luego salta entre ellos con:
:n
:prev
y ver qué archivos están abiertos con:
:args
Y para agregar un archivo, puedo decir:
:n test.pl
que espero que luego se agregue a mi lista de archivos, pero en cambio borra mi lista de archivos actual y cuando escribo :args
solo tengo test.pl
abiertos.
Entonces, ¿cómo puedo agregar y eliminar archivos en mi lista de argumentos?
¿Por qué no utilizar pestañas (introducidas en Vim 7)? Puede cambiar entre pestañas con :tabn
y :tabp
, Con :tabe <filepath>
puede agregar una nueva pestaña; y con un regular :q
o :wq
cierras una pestaña. Si asigna :tabn
y :tabp
a sus teclas F7/, F8puede cambiar fácilmente entre archivos.
Si no hay tantos archivos o no tienes Vim 7, también puedes dividir tu pantalla en varios archivos: :sp <filepath>
. Luego puede cambiar entre pantallas divididas con Ctrl+ Wy luego una tecla de flecha en la dirección en la que desea moverse (o en lugar de las teclas de flecha, wpara la pantalla dividida siguiente y Wanterior)
Listado
Para ver una lista de buffers actuales, uso:
:ls
Apertura
Para abrir un nuevo archivo, uso
:e ../myFile.pl
con finalización de pestañas mejorada (ponga set wildmenu
su .vimrc
).
Nota: también puede usar :find
el cual buscará un conjunto de rutas por usted, pero primero debe personalizar esas rutas.
Traspuesta
Para cambiar entre todos los archivos abiertos, uso
:b myfile
con finalización de pestañas mejorada (aún set wildmenu
).
Nota: :b#
elige el último archivo visitado, para que puedas usarlo para cambiar rápidamente entre dos archivos.
Usando ventanas
Ctrl-W s
y Ctrl-W v
para dividir la ventana actual horizontal y verticalmente. También puedes usar :split
y :vertical split
( :sp
y :vs
)
Ctrl-W w
para cambiar entre ventanas abiertas y Ctrl-W h
(o j
o k
o l
) para navegar a través de ventanas abiertas.
Ctrl-W c
para cerrar la ventana actual y Ctrl-W o
para cerrar todas las ventanas excepto la actual.
Iniciar vim con una bandera -o
o -O
abre cada archivo en su propia división.
Con todo esto, no necesito pestañas en Vim y mis dedos encuentran mis buffers, no mis ojos.
Nota: si desea que todos los archivos vayan a la misma instancia de Vim, inicie Vim con la --remote-silent
opción.