Home row keys are nice, but they often aren't that much of a win because you have to switch modes. My personal opinion is that Emacs ultimately wins unless you have a typing disability (and even then you can configure Emacs to require only key sequences and not combinations like Ctrl+letter). Proponents of Emacs retort that Emacs has a lot of commands that are not frequently used, so don't warrant a key binding, but are damn convenient when you need them ( obligatory xkcd reference). Proponents of vi(m) argue that you can do pretty much everything without leaving the home row, and that makes you more efficient when you need it most. Productivity: This is an extremely hard topic. If I was to redesign vi(m), I'd definitely keep the modes.Īsymptotic learning curve: Both Vim and Emacs have a lot of features, and you will keep discovering new ones after years of use. It takes a little habit, but after a while it feels very natural. Since I've dispelled a couple of Emacs myths, let me dispel a vi myth: a modal editor is not hard or painful to use. Seriously, I agree that Vim's learning curve starts steep, steeper than any other editor, although this can be lessened by using gvim. Initial learning curve: This varies from person to person. Admittedly this was on a weird platform (Cygwin). Turning the tables, I have observed Vim taking noticeably longer to load than Emacs ( vim -u /dev/null vs. (Since XEmacs 21 or GNU Emacs 23, you can open an Emacs window from a running X instance inside a terminal.) You can also edit remote files from within Emacs, but it does break the flow if you're in an ssh session in a terminal. In some situations you can keep an Emacs running inside Screen. Starting a remote Emacs is (usually) slower than starting a remote Vim. There's one exception, which is when you log in to a remote machine and want to edit a file there. So Emacs's slow startup is mostly a myth. Yes, Emacs is slow to start up, but this is not a big deal: you start Emacs once per session, then connect to the running process with emacsclient. Startup time: Vi(m) proponents complain about Emacs's startup time. Emacs features keep out of the way when you don't use them and the documentation is very well organized. If you don't use it, you don't have to know it's there. In the 21st century, Emacs bloat is just a myth.įeature bloat isn't a problem either. Right now, on my machine, Google Chrome needs about as much RAM per tab as Emacs does for 100 open files, and I won't even mention Firefox. For an ordinary user, this argument is irrelevant: Emacs is easily available for every desktop/server OS, and since it supports remote editing, it's enough to have it on your desktop machine anyway.īloated? Emacs once stood humorously for “Eight Megabytes And Constantly Swapping”. Still, I'll try to make an objective comparison on a few issues.Īvailable everywhere? If you're a professional system administrator who works with Unix systems, or a power user on embedded devices (routers, smartphones with Busybox, …), you need to know vi (not Vim), because it's available on all Unix systems and most Unix-like systems, whether desktop, server or embedded. Related feature requestsĪgain, there is one other feature request available here, but it seems dead so, I created this one in hopes of gaining some traction.I use both, although if I had to choose one, I know which one I would pick. The issue CodeMirror faces is predominantly with the Ctrl+W and Ctrl+N keys (base keybindings of Emacs) due to browsers taking precedence however, since Obsidian is a standalone application, this should not be an issue, assumingly. Now, it is understood that Obsidian also uses Ctrl+ keybindings natively to navigate the application however, these are configurable and would be a tradeoff for those looking to use Emacs keybindings as the first-class interface therefore, a warning can be issued before enabling, etc. CodeMirror also supplies an interface for Emacs keybindings found here. Obsidian currently supports Vim keybindings for text editing through CodeMirror found here. Emacs is a well-known and efficient non-modal text editor used by many that comes with its own set of keybindings to enable efficient text modifications. With Obsidian being largely first a markdown text editor, it is important to be efficient with inserting, deleting, and writing text however, using simple arrows and mouse clicks dramatically reduces my workflow and efficiency. I did find a post related here however, it has yet to be updated and does not seem to have much traction, so I am creating a new feature request with the hope of this being the main source.
0 Comments
Leave a Reply. |