<p>If I were to make one criticism of <a href="https://mastodon.fixermark.com/tags/emacs" class="mention hashtag" rel="tag">#<span>emacs</span></a>, it's that it has basically no UX consistency. This isn't particularly surprising (it's an open-source project that's decades old) nor a deal-breaker (for the really bad instances, you can make your own keybindings), but it adds to the learning curve in ways that younger editors designed as monoliths don't have.</p><p>Let's consider, for example, two popular modes: org-mode and dired.</p><p>In org-mode, you have a tree of headings. You can cycle them through "folded", "children", and "subtree" with tab. There are many other things you can do, but these are key.</p><p>In dired, you have a directory. You can view a subdirectory by... inserting it? At which point it shows up not in context as a subtree but at the bottom of the buffer. And then you can use <code>$</code> to... hide it? And to show it again you... Hide it a second time? Org-mode calls toggling state like that "cycling," but no such metaphor seems to exist in dired.</p><p>It feels in hindsight painfully obvious that org-mode and dired should be using very similar metaphors for tree navigation (and, in fact, there should be a <em>universal</em> metaphor for tree navigation; code is often naturally organized as a tree of nodes and such an abstraction could be applied to a vast swath of manipulations). But no; you're going to have to look up and memorize a maze of twisty keybindings, all different.</p>
Reply