Emacs, Vim, or something else?

We're not trying to start a fight, but we'd still like to know: What's your favorite open source text editor?
295 readers like this.
Vim or Emacs?

Jason Baker.

Some topics are just bound to bring about a roaring argument spirited intellectual discussion. At the dinner table, it might be religion or politics. But among open source users, aside from asking about preferred Linux distributions, the next most rabblerousing stimulating question is likely around what text editor you prefer.

Not everyone spends much time at the terminal. But for those who do, it's hard not to have developed a fondness for one editor or the other. And once you've mastered the modes and keystrokes you need, it's tempting to forgo a graphical text editor entirely, even when working from inside a graphical environment. A mastery of a favorite text manipulation tool is hard to beat when it comes to a way to bolster productivity.

When we asked a couple of years ago, Vim was the clear winner. But was this a trend? Is Emacs sliding out of favor as new users pick an editor found on nearly every machine? Or is it still gaining converts as time goes on?

User profile image.
Opensource.com publishes stories about creating, adopting, and sharing open source solutions. Follow us on Twitter @opensourceway.

39 Comments

Sublime Text!

Sublime text editor is one of the best editor but its not "command line text editor".

In reply to by Stefan Björk (not verified)

I make very easy editing so for command line micro or nano are enough. Kate when I'm with graphical environment...
've phun!

I use different tools for different things. I grew up on emacs for programming, so I prefer to use emacs to write code. For my system work, I learned early in my system admin career to use vi, so it's just habit to edit system files (even small things like scripts in my bin) with vi.

But when I edit other things - like editing an HTML page or CSS file, hand crafting an SVG image, or writing a readme - I often bring up gedit on GNOME. It's a simple editor that does what I want, plus a few features like syntax based highlighting.

So I'm kind of all over on this one.

I mainly use Joe as it has similar keyboard shortcuts as Turbo Pascal had once upon a time :) But of course I can use vi(m) as a fallback, as that's available on just about any UNIX/BSD/Linux system by default. I gave a try to Emacs a couple of times, but gave up quickly...

Rob Pike's Sam and Acme, Sam usually for opening files and remote editing, Acme for everything else, and when I'm in a shell, nano.

The only code I write is HTML (plus a smidgen of PHP). I've used Bluefish for about 16 years.

Nano

Aquamacs in viper mode - for speed and ease of use :)
Eclipse Oxygen.3a Release (4.7.3a) with Vrapper (vim) - for editing

In reply to by Stephen Etheridge (not verified)

nano

Emacs isn't just a text editor. It's a complete LISP-based application environment. Back when I spent a lot more time on terminal-type interfaces, I used it for e-mail, reading USENET news and even web browsing.

I still think Gnus is one of the best news readers out there, but unfortunately there are no more major ISP's providing news servers to connect to (and I never got around to subscribing to a third-party service).

I dislike both vi and emacs. For writing Ada & C code I use the GNAT Programming Studio (GPS). For other text files I use Textpad on Windows and gedit or geany on Linux

VSCode. Lightweight but extensible, cross-platform

Geany.

Geany is my choice, too. I wish it had syntax highlighting for Kotlin. I use nano when I'm at a command prompt, and I'm thinking I should find a replacement. I find myself hitting ctrl-w to search in a web browser, and that doesn't go so well :(

In reply to by Mister Goldiloxx (not verified)

I have configured my vim to be similar to atom (themes and looks). While it's hard to get it to be as aesthetically pleasing, when properly configured it is much lighter. It is great for ssh

I still use atom sometimes on larger projects as the Gui allows me to be more proficient for certain tasks I don't do often. Anything you want to do, vim will have a shortcut for, but if you don't know it you have to spend the time to look for it online. Atom is more intuitive.

I use Vim, but have a special soft spot for Emacs. I have just recently tried Evil Mode for Emacs and loved it, but it will likely take a while to transition to Emacs. (Particularly since it currently has trouble showing both Git changes and relative number lines at the same time...)

Like some, I am all over the map on this one.

Notepad++, NotepadQQ, Geany, Bluefish, SCite, & who knows what else. Oddly, have not looked at EMACS or Vi/Cream... yet. The more I listen, the narrower the fence gets between them.

Frankly, in homage to XKCD, I would vote for the one that allows me to type at breakneck speeds with oven mitts. Sadly, I haven't figured out how to search for the word "scamps" in the story line... yet.

Both Vim and Emacs get used by me and they both have their use-cases.
So that's why I selected "Something else". :)

I use just a few good ones, including emacs, vim, ed and sed, and use more specialized features of each. I use vim for fast on-the-fly editing with built-in scripts to automate some complex editing steps. I use emacs for long-term editing, such as multi-lingual typesetting with embedded graphics and math formulas and other forms of documentation, as IDE for various programming languages with syntax highlighting, etc. Emacs has so many mode it's just amazing how productive you can be. The ed and sed are used for automated editing from scripts, so I don't have to interact with the file after the script runs. They all free my time so I can do more creative things.

I use vim most of the time. Nothing beats it for editing configuration files. I've found nothing faster for navigating through files. On the other hand, org-mode alone makes it worth using emacs. I use spacemacs so I get both the speed of vim's keyboard shortcuts and the power of emacs.

I have never got to grips with emacs but have used vi / vim for [too] many years.
However, my editor of choice is nano. It's fast, easy to use and intuitive with all of the features that I regularly need and use.

20 y ago coming from DOS and Norton Commander I got used to midnight commander.. For large files or where mc not available vi.

Emacs for me. I was a Lisp programmer so the choice is clear. Heck, I was a Lisp Machine programmer back in the day, so Emacs was the ONLY choice!

Seriously though, Lisp programming is MUCH easier when you use an editor that understands the language. And easier still when the editor is effectively an IDE for it, with commands for compiling your code and buffers with an REPL as part of the editor. There appear to be various attempts at Lisp support for Vim but none are nearly as robust as the support in Emacs for the language.

nano (1,000 times better than pico)

I usually use Vim in console for system task's. VSCode for job programming edition.

vi. Not that I feel it is superior, or whatever, but over 30 years of use, most of the commands are macros programmed into my hands. That, and it is widely available on most distros, Solaris, etc.., and available on Windows and MacOS.

Straight up vi, no vim, hate vim.

Emacs for heavy slogging, hours at a time, vim for quick, one-shot, things.

With decent customisation, emacs is bright enough to help you code, while vim basically just does what it's told.

From the UNIX/Linux command line it's strictly vi or vim for all editing (hence my vote). To get any real work done from a graphical desktop I'll bring up an xterm window and use vi or vim from that command line. If I'm just browsing files in a graphical desktop, I'll let the file manager bring up what ever default editor is available.

In the windows/dos world I still have an outstanding text editor called qedit. Unfortunately, these days it only runs in a DOSBox window, but that does mean I can also use it under Linux too. In the windows environment I have been using TextPad for decades and (for what it's worth) highly recommend it for any serious text editing of any kind.

I was in the computer room in Cory Hall at Berkeley when a grad student announced that everyone should come and look at what he just did, he started a special version of "ex" and typed ":v" to enter "visual mode" which quickly became known as VI.
In spite of that, at my first job in Silicon Valley I was introduced to ESE (Emacs Screen Editor). Since then I have become a huge Emacs fan.
The difference between emacs and vi is simple. In vi you have to either append or insert and the cursor is never placed on the return char. This makes every edit a decision. Do I want to enter chars after the current position or before? In emacs the cursor is always displayed after the insertion point. That way you always just type to insert new text in the file.
That simplicity and other powerful features of Emacs have kept me always coming back!

I have been using Geany for years, with little or no plug ins or extensions. I use it for HTML, CSS, JS, PHP, as well as simple content creation, to keep focus on content, before further editing it to add some layout or to prepare emails outside the browser email program.

I use XEMACS with the TPU-EDT option, because I programmed my nervous system to use the numeric keypad with EDT back in the early days of VAX/VMS (before they switched to TPU) and have never had any motive to reprogram it.

It took me 3 months to master vi which was a lot easier than ed. Back in the late 90’s you didn’t have much. I find the keystrokes 2nd nature now.

Funny enough? I prefer either NotePadqq....or GEdit. I know they're not as technically robust as either Vim or EMacs...but they suit my purpose when I have to edit system files.

I am not a programmer so I mostly use gedit with Deepin 15.6 or Kate with Neon. I do mess with HTML and CSS a lot and have both Vim and Sublime Text 3 and lately, Sublime Text 3 has been my first choice. For a lightweight editor, Kate does the job.

I use both. If it's something quick like a character change, delete a line, something like that I use might use vi because it's fast to load. Even on old or busy boxes. For real editing I use emacs. It's just so much more powerful. There is a tough learning curve with Emacs, however. Probably worse than vi. If you're not serious about writing code and using an editor every day, vi is probably best. Great for beginners. If you want to use an editor with the help of macros or something like lisp, Emacs is indispensable. It's often the case that I have a lot of edits to do in a file and the next guy is really dreading it because he knows it'll take a long time to make those changes with vi. I'm done in about 5 seconds because I defined a macro real quick. However it's sort of like the guy that has the typical swiss knife in his pocket and only ever uses the tooth pick. If you don't look into how to use it properly, what it is capable of, it's a waste of time. Might as well use vi.

I started with Emacs because that's what my TA's in college computer science classes used. The first time I tried vi, I didn't know how to enter text or exit. I learned vi because I was doing Linux administration, and vi is the default editor on systems with nothing else installed. Eventually, I learned more advanced vim and started using it more then Emacs because it was more lightweight. However, when I have it available, I prefer VS Code or an IDE for programming.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.