The Emacs Lisp manual has a section on recursive editing, which mentions a few different ways you might handle this.
Emacs
A community for the timeless and infinitely powerful editor. Want to see what Emacs is capable of?!
Get Emacs
Rules
- Posts should be emacs related
- Be kind please
- Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.
Emacs Resources
Emacs Tutorials
- Beginner’s Guide to Emacs
- Absolute Beginner's Guide to Emacs
- How to Learn Emacs: A Hand-drawn One-pager for Beginners
Useful Emacs configuration files and distributions
Quick pain-saver tip
My general thought:
(defun zzz (elt)
(let ((file (car elt))
(repo (cadr elt))
(st (caddr elt))
(is (cadddr elt))
(progn (find-file file)
(search-forward repo)
(switch-me-to-interactive-node-until-i hit-a-hotkey st is)
(save-buffer)
(kill-buffer))))
It's the switch-me
function that I'm not sure how to approach.
Use a keyboard macro. No need for elisp:
https://www.masteringemacs.org/article/keyboard-macros-are-misunderstood
My instinct would be to use dired
to assemble the list of files and then use the dired
open file action, do the simple edit, save and close the buffer, which will return to the dired
buffer again and go to the next file name all within an interactive macro. And then repeatedly execute the macro as it steps through each file.
Alternatively, manually assemble the list of files in a text buffer and use M-x ffap
to open the file under the cursor, and do the same as above.
If this is something you will be doing frequently, then writing elisp may make sense, but you can get the elisp that a macro represents as well.
Start with an interactive macro.