Create a persistent macro in JOVE Micro Emacs
============================================
Last edited: $Date: 2021/05/05 11:52:53 $
Jonathan's Own Version of Emacs
-------------------------------
[JOVE](
https://en.wikipedia.org/wiki/JOVE) is Jonathan's Own
Version of Emacs, a Micro Emacs.
JOVE is a Micro Emacs that is small, fast, and has some nice
options.
One of the options is to create keyboard macros and write them
to a file. This way you can make your keyboard macros
persistent.
I wanted to setup a small macro that inserts a time stamp.
The apropos function in JOVE is great way to discover the
available functions.
Unfortunately, the FreeBSD package of JOVE doesn't come with
all the documentation, this is why the describe-command
function doesn't work.
So it took some time to figure out how to do this.
Basic recipe
------------
This are the steps by which I was able to create a persistent
macro.
- Record the macro
- Test the macro
- Name the macro
- Write the macro to a file
- Get the macro into the initialization file
- Bind the macro to a key
Record the macro
----------------
Start the recording of your macro with
^X-(
(which stands for "Ctrl-c (" ).
End the recording of your macro with
^X-)
Test the macro
--------------
You can test the macro with
^X-e
Name the macro
--------------
Use the function
M-x name-kbd-macro
To name your last recorded macro.
Just give it a descriptive name.
Write the macro to a file
-------------------------
Invoke the function
M-x write-macros-to-file
and supply a filename, like "/tmp/my-macro".
JOVE will write the known named macros to this file, including
your fresh created and named macro.
Get the macro into the initialization file
------------------------------------------
I didn't have a personal initialization file, so I had to
create one first. For this, I copied the system
initialization file to my home directory:
cp /usr/local/share/jove/jove.rc ~/.joverc
Now you can copy the line with your macro from "/tmp/my-macro"
to your ~/.joverc.
Bind the macro to a key
-----------------------
Add a line to .joverc in which you create the key binding.
bind-macro-to-key my-great-macro ^X^T
In this line above, the macro named "my-great-macro" is bound
to ^X^T (Ctrl-x Ctrl-t).
Test
----
Close JOVE and open it again, to make it read your .joverc and
test to see if your defined key binding indeed invoke the
macro.
Have fun !