Si abro vim con varios archivos en la línea de comando, por ejemplo, vim debug.log*
qué cargas debug.log
, debug.log.1
y debug.log.2
¿puedo navegar entre ellos, asignarlos a múltiples ventanas ( :split
/ :vsplit
) o similares?
El único acceso directo que conozco para este modo de operación es :n
, que carga el siguiente archivo en la lista. ¿Qué más puedo hacer en este modo de operación de múltiples archivos? (¿o qué tema de ayuda cubre eso?)
multiple-files
load
SF.
fuente
fuente
:previous
(o:prev
) es el inverso de:n
, y retrocede un archivo.Respuestas:
El tema de ayuda más relevante es
:ls
, también conocido como:files
o:buffers
.En su
vim debug.log*
ejemplo, si dio el:ls
comando, verá:... indicando que el primero es el búfer activo.
Para abrir
debug.log.2
en la ventana actual, dé el comando:b 3
o:b debug.log.2
para mostrar el búfer 3.Para dividir la ventana y abrir el búfer 2, da el
:sb 2
comando. La versión de división vertical de eso es:vert sb 2
.Hay muchas variantes del
:b
comando; explore los temas de ayuda citados aquí para familiarizarse con ellos.Además, puede invocar
vim -o debug.log*
para abrir todos los archivos, cada uno en su propia división, ovim -O debug.log*
para abrirlos en una división vertical.fuente
Además de la funcionalidad sin procesar de vim mencionada por 200_success, el ecosistema de Vim está lleno de complementos para proporcionar funcionalidad adicional, como:
Sin embargo, antes de ir y comenzar a usar complementos, es mejor comprender completamente los búferes y las ventanas en vim.
fuente
También puede abrir vim con diferentes parámetros.
Abre archivos en pestañas:
Abre archivos en divisiones verticales:
Hay un complemento genial y bastante poderoso llamado CtrlSpace:
https://github.com/szw/vim-ctrlspace
Es muy útil si necesita trabajar con muchos archivos. Simplemente puede imaginar ctrl-space como su propia lista de búfer para cada pestaña. Proporciona una manera muy fácil de navegar entre los archivos, como dice el autor:
fuente
Si desea abrir un archivo en particular sin necesidad de pasar
:ls
, puede usar cualquiera de los siguientes::vs filename
abre el archivo en una división vertical:sp filename
hace lo mismo, pero en una división horizontal:tabe filename
se abre en una pestaña nuevaTambién vale la pena saber que si no especifica un nombre de archivo, abrirá una nueva división / pestaña del archivo actual, que puede ser útil para archivos largos.
fuente
:t
es el comando copiar. Por:tabedit
lo menos lo necesitas:tabe
.Hay algunos atajos útiles para navegar por múltiples archivos:
CTRL-^
(dondeN
está el número de búfer) para saltar al archivo editado previamente.N CTRL-^
(dondeN
está el número del búfer) para saltar al búfer específico.Por ejemplo:
Esto es equivalente a
:buffer N
.Use
:Ex
/:Sex
/:Vex
para navegar por el directorio actual.Use en su
:tabs
lugar (vim -p
) con algunos accesos directos personalizados en su.vimrc
como:Uso
:ba
/:vert ba
a split, salto al tampón seleccionado a través de Control+w, w/ W, a continuación, hacer que la ventana actual (:on
).fuente