Sé sobre el comando :bufdo
, y estaba tratando de combinarlo con una macro que había registrado (@a
) para agregar un #include en el lugar correcto de cada uno de los archivos de encabezado I ' d cargado Sin embargo, no pude encontrar una manera fácil de ejecutar la macro en cada buffer. ¿Hay alguna manera de ejecutar una macro a través del modo ex, que es lo que :bufdo
requiere? ¿O hay otro comando que me falta?Ejecutar una macro en todos los buffers en vim
Respuesta
Usted puede hacerlo de esta manera:
:bufdo execute "normal @a" | write
El comando normal ejecutará la macro, pero se debe ejecutar utilizando: execute, de lo contrario, el carácter de la tubería se interpretará como un carácter de modo normal.
La única alternativa que podría surgir fue agregar los comandos :w
y :bn
a la macro, para que se guarde automáticamente y se mueva al siguiente búfer. Podría ejecutar el comando en los otros 52 buffers escribiendo [email protected]
. Esto funcionó, pero para mí es un modelo conceptual muy diferente de :bufdo
, y espero que alguien más me señale en la dirección de algo más similar al :bufdo
.
usted tiene que utilizar normal
para ejecutar comandos modo normal, una ejecución como macro (@a
) en modo de comando:
:bufdo normal @a
Esto solo funcionará si 'autowrite' está habilitado, de lo contrario se detendrá con un error cuando intente cambiar al segundo buffer, ya que abandonará un buffer modificado. –
@DaveKirby funcionaría si incluimos: w en nuestra macro? – MeanEYE
@MeanEYE: Sí, si finalizas tu macro con ': w' esto funciona. –
- 1. vim - ¿cómo cerrar todos los buffers en la pestaña actual?
- 2. vim: buscar sustituir más de todos los buffers de escritura
- 3. Buffers por tabulación en vim
- 4. Emacs líneas truncadas en todos los buffers
- 5. Aplicar una función a todos los buffers en emacs
- 6. Eliminando todos los búferes vacíos en VIM
- 7. ¿Cómo prefiere cambiar entre buffers en Vim?
- 8. macro - abrir todos los archivos en una carpeta
- 9. Cerrar todos los buffers además del actual en Emacs
- 10. Aplicando una opción a todos los archivos abiertos en Vim
- 11. ¿Qué significan los símbolos después de ejecutar: ls en Vim?
- 12. ¿Cómo cierro todos los almacenamientos intermedios que no se muestran en una ventana en vim?
- 13. Vim: crear marcas en todos los archivos?
- 14. vim - deshacer en todos los tampones/ventanas/abrir archivos etc
- 15. Macro para hacer listas numeradas en vim?
- 16. Vim: cómo ejecutar un comando de modo no normal en todos los búferes?
- 17. Sangría en VIM con todos los archivos en la carpeta
- 18. ¿Cómo guardar todos los archivos en pestañas en Vim?
- 19. ¿Cómo ejecutar una macro "OnEnterSlide" o "OnLeaveSlide" en Powerpoint VBA?
- 20. Notepad ++ utilizando el comando "Ejecutar" en una macro
- 21. Macro Vim en cada línea de selección visual
- 22. reproducir una macro vim hasta el final del búfer
- 23. ¿Cómo puedo "M-x replace-string" en todos los buffers en emacs?
- 24. ¿Cómo enumerar todos los marcadores en NERDTree of VIM?
- 25. ¿Cómo buscar todos los caracteres CJK en vim?
- 26. Vim ejecuta autocmd en todos los tipos de archivos EXCEPTO
- 27. Imprimir recursivamente todos los archivos de Vim
- 28. Emacs busca y abre múltiples archivos y busca en todos los buffers
- 29. Ejecutar todos los archivos SQL en un directorio
- 30. Ejecutar todos los archivos Python en un directorio
echar un vistazo a http://stackoverflow.com/questions/1291962/replay-a-vim-macro-until-end-of-buffer EDIT: no importa este – gruntled
@gruntled: Gracias por el enlace. Me salté eso porque la pregunta no parecía aplicarse, pero las técnicas deberían funcionar. Yo voté para cerrar este. –