Home » Questions » Computers [ Ask a new question ]

Features of Emacs that are complementary to Vim?

Features of Emacs that are complementary to Vim?

I've been using Vim extensively for a while now, and I really enjoy working with it. However, I keep reading praises for Emacs. I've decided to take a look at Emacs to round out my knowledge of the Unix editors (not to mention Emacs keybindings are used extensively).

Asked by: Guest | Views: 17
Total answers/comments: 2
Guest [Entry]

"Which features are complementary? Pretty much everything that isn't straight text editing. Reading mail, usenet, running a shell, debugger (gdb), compiling, version control integration, man pages, todo lists/project planning (org, planner), browsing web, ide (CEDET), IM, IRC, remote file editing (TRAMP), etc. There are even silly things like games: tetris, snake, bubbles, pong.

Within the domain of strict text editing, both Emacs and vi do the job, which you prefer is like which ice cream you prefer. And I agree with richardhoskins, Viper mode is probably the way to explore Emacs if you're not interested in switching whole-hog.

Note: Apologies if any of the features are provided in vim, it's been a long time since I used it, and I was a very simple user of vim."
Guest [Entry]

"What switched me over from nvi/vim to nvi/emacs as my respective ""change two words in a file"" / ""spend hours editing a huge directory tree full of files"" editors was the integration of subprocesses. Being able to evaluate a region of text in an interpreter with a keystroke, automatically jump to errors in order to correct them, and then leave the interpreter running the whole time was extremely helpful.

Other things that I miss today when not using emacs: consistency of keybindings across modes and contexts (cut / paste / movement / etc. work the same in the minibuffer as in a buffer), interactive updating display of potential completions via ido mode (""C-x b"" shows me a list of buffers I could switch to, typing a single letter "".c"" hides all of the ones without a .c somewhere in the name, ""C-s"" rotates the list, ""enter"" picks the item on the front of the list. I am frustrated by the unusability of my window manager or firefox, now that I have this way of switching contexts everything else is clumsy).

Another advantage in my mind is the multifold advantage that most of emacs is implemented in emacs lisp. That means that emacs lisp is usable as an extension language and has the features needed for real programming. That means that the extension language is kept reasonably efficient and scalable. That means that when people extend emacs to improve their productivity, their features can be trivially integrated into the official emacs. Over time this means that emacs is community developed on a scale matched by no other free software project (though firefox may eventually catch up with xul/userscript stuff). That means that since elisp is a highly reflective language, I can query details about functionality of the editor in an interactive way - in a reflective enough language, the program itself is the most accurate documentation you can have."