ryo-modal
emacs-config
ryo-modal | emacs-config | |
---|---|---|
14 | 20 | |
217 | 81 | |
- | - | |
0.0 | 9.2 | |
4 months ago | 6 days ago | |
Emacs Lisp | Emacs Lisp | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ryo-modal
-
Ask HN: Best way to experiment with text text editing?
To build on what others are saying about Emacs, if you start exploring the package ecosystem, you're going to see quite a lot of really interesting packages that are related to improving/experimenting with the UX of editing text. While I'm not endorsing anyone in particular, I think what this list does show is just how easy it is to do pretty much whatever you want in Emacs;
https://karthinks.com/software/avy-can-do-anything/
https://github.com/jyp/boon
https://github.com/clemera/objed
https://github.com/jmorag/kakoune.el
https://github.com/meow-edit/meow/
https://github.com/xahlee/xah-fly-keys
https://github.com/Kungsgeten/ryo-modal
https://github.com/emacsorphanage/god-mode
Emacs 29 also now has treesitter and LSP mode integration built-in, a compilation mode, a comint mode for REPLs, excellent file browsing packages (I use dired/dirvish), and a few other killer features.
Now, if what you truly dislike are "quirky editors", prepare yourself for a world of hurt because vanilla Emacs departs quite a bit from "modern" text editors. I struggled with this for a while, but eventually by buying into the paradigm, I now feel that when emacs try emulating "modern" IDE features like autocompletion, LSP, and DAP UI, I feel like it's a regression, not a progression. The point here is that you might have an "idea" of what good initial UX and lack of quirks would look like, but Emacs might change the way you think.
-
Evil keybinding for emacs from scratch
If it's the latter and you're looking for a way to set up vim/evil like keybindings yourself (separate links for each), Modalka, RYO-modal, and Meow (and probably a few dozen others 'cause emacs) allow you to do that.
-
Nested/conditional keybindings to navigate in text
You can write custom commands that wrap a little bit of logic around the standard movement commands. Or another option would be to look at ryo-modal or meow.
-
How to get doom emacs keybindings?
Along with General, you can take a look at some other packages for keybindings and modal editing. A good option is RollYourOwn Modal mode. In the documentation there, it also lists several other packages with pre-defined bindings. Xah-Fly-Keys is specifically designed for ergonomics and may be interesting to explore.
-
Why not use Evil in 2022?
Because you can roll your own modal mode. This particular approach will make the experience convenient in the way you actually prefer (Emacs' extensibility at its finest) and it'll allow you to slowly move towards the modal editing if it happens to be convenient for you.
- Lapce
-
"I'll just install EVIL"
Similar to Meow is ryo-modal. What I like about ryo-modal is that it is completely unopinionated and does nothing by default, and instead just provides the tools to make your own modal editing system.
-
Layer keys
I was thinking that combining this functionality with something like ryo-modal could make for a very satisfying and efficient modal keybind system. However, it doesn't seem like there's any ready made way to do this in Emacs.
- Think which-key update breaks ryo-modal
-
How to make ryo-modal not insert the non-mapped keys?
ryo-modal is a package for creating modal keymaps. I want to test it, but I need a little help.
emacs-config
-
Emacs Advent Calendar 7: ordeless, embark 1.0 and some bric-a-brac
block-undo. Have keyboard macros undo in a single step (something vi gets right!).
- embark-kmacro.el: Embark support for Hyperbole key series
-
Stripped-down Embark?
Installing that Embark key series implementation I mentioned above, to get extra actions for key series such binding them to a key or turning them into named keyboard macros.
-
How do guys 'namespace' calls to functions in the same 'namespace'?
Generally I recommend to maintain all personal code in the form of tiny but proper Elisp libraries. The config just glues everything together using use-package/setup/your-self-baked-macro. See also /u/oantolin's config which uses this style: https://github.com/oantolin/emacs-config. I cannot recommend this enough!
-
How many lines are in your .emacs file?
I have 3720 lines in my configuration. I try to write as much of it as tiny packages that I configure with use-package, just like I do for external packages. (I highly recommend this form of organization) Many of these are only useful to me, but some would be very reasonable to steal, like:
-
[ANN] unpackaged/imenu-eww-headings: Offer HTML headings in EWW buffers with Imenu
I have a slightly different take on this in my configuration, file shr-heading.el. In addition to imenu support I wanted next and previous heading navigation commands. It turns out you then get imenu support for free, since one way you can specify imenu entries is by providing a "goto previous imenu entry" function.
- Whose user init have you found helpful?
-
Dragging the region
I wrote a small drag-region package once. You mark a region, turn on drag-region-mode and then your normal motion commands will drag the region along until you turn the minor mode off again. I never tested it with evil.
-
ecomplete: the Emacs contact manager you were looking for
I'm very happy with ecomplete now, I mostly just need the completion and automatic storing of addresses I write to, as configured in your post. But occasionally I want to remove an address or manually add one, so I wrote a couple of commands to do that which I bind in embark-email-map to + (for adding) and \ (for removing). I don't think I've used these commands directly, always as Embark actions. When I want to add an email to ecomplete I usually have it written in some buffer already. And the command to remove an email I've only ever used from the ecomplete completion interface or from a message buffer after mistakenly having inserted it and realized that's an old address I'll never use again.
-
Need help integrating a package into consult
I keep some packages in a subdirectory my personal configuration and don't create a separate repo for them. (Also, not every file there is really a package that could be released: some don't follow proper naming conventions, or depend on details of my configuration).
What are some alternatives?
meow - Yet another modal editing on Emacs / 猫态编辑
embark - Emacs Mini-Buffer Actions Rooted in Keymaps
modalka - Modal editing your way
lispy - Short and sweet LISP editing
xah-fly-keys - the most efficient keybinding for emacs
consult-better-jumper - Integrate better-jumper into consult
kakoune.el - A very simple simulation of the kakoune editor inside of emacs.
prism.el - Disperse Lisp forms (and other languages) into a spectrum of colors by depth
emacs.d - Personal Emacs configurations
consult - :mag: consult.el - Consulting completing-read
emacs-baboon - My new Emacs config with use-package