Tengo un montón de archivos de texto en un directorio y sé que tendré que editar cada uno individualmente.
Comienzo en la línea de comandos con
vim *.txt
que abre los archivos como buffers separados en vim y me deja mirando el primero. Lo edito, luego uso ': w' para guardarlo y ': bd' para cerrar el búfer y pasar al siguiente.
Este ': w: bd' para guardar y cerrar el búfer me parece largo, y sospecho que hay una forma más vim ninja de hacerlo. ¿Cuál es la forma recomendada de guardar y cerrar el búfer en el que está trabajando de una vez?
:next
búfer y escribir / cerrar todo una vez que su tarea haya terminado:wqa
. Esto supone que tienes:set hidden
en tus~/.vimrc
.Respuestas:
Al pasar los archivos a Vim en la línea de comandos, no solo se abren en búferes, sino que también llenan el lista de argumentos . Por lo tanto, puedes usar comandos como
:next
y:first
navegar a través de ellos (y:argdo
para el procesamiento por lotes, que puede ser un truco ingenioso). El comando que recomiendo para tu pregunta es:wnext
(forma corta:wn
), cual:write
s el búfer actual y luego va a la:next
uno.No necesitas explícitamente
:bdelete
un búfer, especialmente cuando está ejecutando Vim desde la línea de comandos con un conjunto de archivos y luego lo cierra cuando termina. (La única excepción que se me ocurre es descargar un archivo enorme para guardar la memoria del sistema o reutilizar una única instancia de GVIM para muchas ediciones diferentes).Sin embargo, si realmente desea esto, simplemente defina un comando personalizado, por ej.
fuente
:w|bd
.:next
Tiene más sentido en algunos casos.Si bien estoy de acuerdo en que no tener para eliminar los buffers abiertos que no está utilizando actualmente, me gusta eliminarlos porque tengo aerolínea vim La línea de pestañas habilitada, que muestra todos los buffers abiertos todo el tiempo en la parte superior de la ventana. Tengo lo siguiente en mi
.vimrc
:qq
guarda y cierra el búfer actual, pero también confunde con la funcionalidad "grabar macro" de vim (con la que estoy de acuerdo).fuente
ZZ
viene a la mente, pero eso termina guardando y saliendo de Vim por completo, en lugar de simplemente eliminar el búfer. Minúsculazz
podría ser una asignación alternativa interesante, para cualquier persona que encuentre las macros más valiosas que centrar la vista en la línea del cursor actual.Q
, después de darse cuenta de lo valiosa que puede ser la grabación en Vim.