Estoy a punto de adoptar Emacs para ser el único editor que uso en todo lo que estoy escribiendo, incluidos los documentos de LaTeX. Vengo del editor WYSIWYG que cumplió con ese propósito bastante agradable, es decir, TexStudio o TXS para abreviar. Para la transición de TXS a Emacs, todavía me falta la forma en que TXS trata de ejecutar la búsqueda y reemplazo masivo de consultas regexp con resaltar las coincidencias y restringir la búsqueda solo a los .tex
archivos relacionados con el proyecto . Echo mucho de menos eso en Emacs ahora. Vea una captura de pantalla de TXS a continuación:
TeXStudio Query en un proyecto LaTeX multifile
Me gustaría enfatizar los puntos en el flujo de trabajo a lograr en Emacs:
- RegExp Query Search and Replacement solo en los
.tex
archivos relacionados con el proyecto . - Destacando los partidos
- Una visión general de los resultados resaltados en un diseño manejable (similar a la vista de registro de
Magit
Emacs cuando presional
seguido de otrol
o simplemente comoC-x d
en modo Dired - Cómo saber cuántas coincidencias de reemplazo o inspección realizadas con o restantes y una forma de reanudar la consulta en caso de que se rompa por una torpe pulsación de tecla que detiene la consulta
- Una forma limpia de salir de esta consulta desordenada al cerrar y guardar todos los archivos relacionados y volver al estado antes de invocar esta consulta
Leí esta publicación, pero mi intención es ser más como para CW
que cualquiera pueda compartir su mejor flujo de trabajo para hacer este trabajo común. Mi enfoque actual es el siguiente:
Primer flujo de trabajo
- El modo directo
% g
marcará todos los archivos que contengan esa expresión regular. Contras: esto incluirá incluso archivos no relacionados con el proyecto, incluidos archivos que no sean .tex. C-x 3
abre un nuevo búfer mientras mantengo un ojo en el primer búfer como mi visión general de orientación de los archivos marcados que tengo que consultar en el nuevo búfer individualmente- Ejecutando la consulta por
C-c q
. Tiene interruptores muy agradables como!
reemplazar todo sin preguntar más resaltar coincidencias dentro del archivo abierto. Pero esto significa que tengo que ejecutar la misma consulta cada vez y para cada archivo marcado. - Después de hacer todos los archivos marcados, presioné
C-x s !
para guardar todo en una sola pulsación. ¡Uf!
Segundo flujo de trabajo: preferido
- Marcar todos los
.tex
archivos usando% m
dentro del modo Dired mediante regexp para marcar solo.tex
archivos, por lo que, básicamente, la ejecución\.tex
me llevará allí. C-x 3
igual que el anterior para mantener un búfer para visión general y el otro para consulta- La ejecución
Q
dentro de Dired, que es la consulta, reemplaza regexp solo en archivos marcados . Alternativamente,A
solo es una consulta de búsqueda regexp. Se ejecutará una consulta completa y?
se proporcionará generosamente un menú de ayuda C-x s !
guardar y cerrar todo el desorden. De lo contrario, tuve que cerrar los archivos abiertos uno por uno, lo cual es tedioso. Espero que haya una manera de cerrar solo a aquellos a quienes molestamos.
¿Cómo puedo aproximar la consulta de búsqueda / reemplazo de expresiones regulares de TXS en múltiples archivos?
Nota
- Emacs 24.4 en Windows 7