I love watching great ideas percolate through the file editor ecosystem. My cup of tea is Emacs, so I notice it most there, but it happens all over the place. For example EasyMotion appeared in VIM and jumped to Emacs AceJump and then to IntelliJ (and all its children). If you are an Emacs user then you also see it happen a lot between modes.
For example ESS has this nice feature of evaluating the current line or region and stepping forward. It probably sounds so simple to you that you would question its value. Oh yea, you know LISP, so you get it that simple is powerful. Obviously that idea will spread to every mode for every language, and here is how, eval-in-repl.
Today’s story-unfolding for me has to do with setting up your key bindings in order from least to most disruptive to your hands and arm position. Xah Lee gave me the idea. Here is how I do it. key-chord is what made it possible for me. It was so uplifting to start using it. My personal workflow was so improved and I didn’t think any more about how to make it better or how key-chord might serve other purposes. Then I read about key-combo.
It does what key-chord does. OK, that is great. It does a little more though. It cycles through through symbols, too. Why do I care? In ESS the function `ess-smart-S-assign’ helps you deal with assignments in R. At some point, both R and S used the underscore for assignment. The naming standards in R are OK with using underscores in names as separators, too. So what should happen when you hit underscore in ESS mode? When you hit underscore, it starts cycling through ‘<-' and '_'. It makes total sense and it is totally expected. That is nice. key-combo lets you easily do the same thing wherever you want. I want to cycle through umlaut-accented vowels. I want to cycle through escaped and non-escaped symbols in LaTeX mode (here is one way in org). I want to cycle through through the different equality functions in our favorite languages (=, eq?, eqv?, and equal?) using only the = key. So, I will.
This thing called EMACS is really a vehicle for fun. This thing called ALEC is really a vehicle for the expression of creativity. What a treat to be here to do so collaboratively with all of you fine human beings!