5 ms·
It doesnt matter what were they initially designed in some abstract sence. Nobody would question that those 2 are primarilly editors and that it is their most i
by majkinetor 10y ago
It doesnt matter what were they initially designed in some abstract sence. Nobody would question that those 2 are primarilly editors and that it is their most important function - editing and navigating text (and along, text interfaces). That means that vim must be better as its workflow is more efficient for that (thanks to the 2 modes and speed that object motion combinations give) and more healthy (without producing RSI which means I can physically do vim more time then emacs, a point mostly ignored by people ).
Both can do basically anything nowdays so the argument of particular workflow suiting better different people does not hold. Its just that some people dont want to invest time into learning vim because vim on-boarding is probably the hardest compared to any other editor. There are maybe some other aspects involved for some people (like lisp vs viml) but those can safelly be ignorred as non important in majority of casses.
- belak 10y agoI do agree with the general sentiment here... both emacs and vim are primarily editors. However, it's also worth noting that emacs is much easier to extend and change than vim which is one of the reasons people do so many things in it (hence the "Emacs is a decent operating system lacking only a good text editor" joke). Handling email, chat, all git operations and more is common in emacs, but fairly rare (at least in comparison) in vim. There's also spacemacs (for a large config) and evil-mode (if you want to get into the nitty gritty details) for using vim bindings in emacs. Doing the opposite would be a much harder feat. I love both editors... and there's a reason I have both a vimrc and an init.el. vim has the advantage of being pretty much everywhere (so it works really well when editing on servers), and has awesome modal editing, but emacs works really well for local development where I can make sure I'm using the right version and have it tweaked to work exactly how I want. I don't think that one is better than the other, just that they have different use cases.
- massysett 10y agoBecause Emacs has modes that make it mimic Vim, it's false that Vim "must be better," especially when Emacs can do things (like frames) that Vim cannot. I'm not saying Emacs is "better," just that this line of analysis is flawed.
- majkinetor 10y agoIts not flawed. The greatest use case for editor is editing text. Even the small differences in efficiency in the main use case pile up enormously on the long run. Thats why people practice vim golf - to make micro optimizations that will lead to huge benefit. The argument emacs can do frames is irrelevant in this respect.
- massysett 10y agoYou suppose that the only measure of efficiency is keybindings. It is not. For me, other aspects of the editor, such as frames, superior auto-completion, and superior compilation mode, make me more efficient. I don't use an editor solely to "edit text." I'm using to to accomplish a bigger objective, such as creating or fixing a program. Overall, Emacs is better at that, and the fact that I can give it bindings that mimic those in Vim also helps.
- mw42 10y agoevil (the vim emulator for emacs) is fantastic, but the argument that emacs + evil must be equivalent or better than vim is also flawed. For example, plenty of emacs modes and packages have extensive keybindings that clash with vim, so the emacs + evil experience will never be as smooth as vim and its own native packages that were designed with vim's interface in mind. Yes, you can give up the vim bindings in certain modes, or spend lots of time re-configuring various packages' bindings. But that is not something you'd ever have to struggle with when using vim.
- brudgers 10y agoTo me, the initial architectural decisions are reflected in the tools today: just as the initial architectural decisions of the Pantheon versus the Pyramid of Cheops are reflected in the way each building is actually used by people today. For example the Pantheon's architectural design more readily facilitates shelter from inclement weather. While the Pyramid of Cheops could be modified to do so, it seems to me that adding a portico or walk-in interior space is both non-trivial and at odds with the existing architecture.
- zeveb 10y ago> vim must be better as its workflow is more efficient for that (thanks to the 2 modes and speed that object motion combinations give) Emacs provides object motion commands, too, based on b/f/p/n. It can have two modes (in the vi sense), if you wish, using evil-mode. It's also far, far better than vi at editing and navigating the text of a news post, or a newsgroup, or an email, or a web page, or a process listing, or a kubernetes definition, or or or. Emacs can completely emulate vim; vim cannot emulate emacs. Seems to me emacs is more powerful.
- majkinetor 10y agoEmacs can completely emulate vim; vim cannot emulate emacs That is probably not true. The main reason is more probably that nobody wants to emulate emacs in vim. Its more telling IMO that emacs people want vim in it. As user slurry above pointed out, its probably because old habits die hard and because people continue doing the same stuff to justify time investment.
- slurry 10y agoI have been an emacs user for 16 years now, and I have come to this conclusion as well. I don't - like 99% of emacs users - use advance scripting capabilities. But even if I did, it would still be less efficient at the core task of text editing. I'm stuck on emacs, because old habits die hard. But I'll teach my son to use vi.
- RHSeeger 10y ago> Both can do basically anything nowdays But Emacs makes it easier for that "anything" to include things the user wants to be able to do, but aren't built into the system. I use VI, but far prefer Emacs because I can keep adding functionality to it as I need it. That's what's important to me.
- majkinetor 10y agoYou add functionality in vim as you need it too in its profile, local profile, or via number of other means. VimL sux big time comparing to Lisp tho although you can also use Python and Ruby and Lua and whatnot (it sux that it might not be an option on some platforms that easily).