Editor War: Everything You Need to Know!

Editor War

Editor War: Everything You Need to Know!

The Editor War has a long history. Like most religious wars, this one is partly based on a story that may no longer be as relevant as it once was. We’ve taken a closer look at the religious Editor War and summarized the key points in this post.

Editor War

What is a (text) editor?

A text editor is a computer program that allows users to create, modify, or edit plain text files. Such programs are also known as “Notepad software,” a term derived from the name of Microsoft Notepad. It can be used to write computer programs, edit the source code of programming languages or HTML, and create website or web design templates. A text editor is now most commonly used for programming purposes...

Some text editors can read, edit, and quickly open unusually large files—such as log files or an entire database—in a single file. This is necessary for many professional computer applications, as they contain files that may be too large to fit in the computer’s main memory.

What is the Editor War?

Most users don’t give text editors much thought. However, not all text editors are created equal, and over time, users may come to realize that a particular editor is best suited to their needs. Within the unique world of hacker culture and the free software community, a rivalry has emerged between users of two different text editors: Emacs and vi (also known as Vim or Neovim). The rivalry has become a permanent fixture of both cultures...

Throughout human history, there have been numerous topics on which users and fans have shared their views and debated with one another. These "holy wars" have taken various forms: iOS vs. Android, Apple vs. Samsung, Marvel vs. DC, and so on. A similar discussion that sparks heated debate among users—particularly those in the Linux community—is the Emacs vs. Vim debate, which has been raging for decades. The debate between Emacs and vi was one of the original “holy wars...

Vim is a modal editor and one of the oldest UNIX-based text editors available. This text editor is an evolution of vi, a text editor from the early days of UNIX. “Vim” stands for “vi Improved.” After its release, Vim quickly gained popularity because it not only incorporated nearly all of vi’s features but also added several additional features that made it much more powerful than its predecessors.

The first version of Vim was released to the public by Bram Moolenaar in 1991. Since then, it has become one of the most popular and feature-rich text editors. In 1998, the fifth generation of Vim was released, introducing one of the editor’s most widely used features: scripting. Now users can write their own scripts for Vim and ultimately extend its functionality.

Vim's appeal lies in the fact that it is extremely lightweight and features a multi-mode interface, each mode serving a different but useful purpose. With features such as a multi-level undo tree, a vast collection of plugins, and powerful text-editing tools, Vim is a rock-solid text editor that truly stands out.

Emacs, on the other hand, is a family of highly customizable, self-documenting real-time text editors designed for POSIX operating systems and available on Linux, macOS, BSD, Windows, and more. It is a cross-platform editor with a non-modal interface. Emacs is very similar to Vim, a long-standing text editor that has been popular for years. However, rather than simply calling it a text editor, Emacs is so much more. Emacs is known for its high extensibility, allowing ...

Emacs supports a wide range of packages and extensions that users can use to further customize it, making it even more powerful than before. It includes several useful features, such as autocompletion. This allows you to start typing a command, which the editor then automatically completes.

Vim vs. Emacs – The Key Differences

Storage usage

An editor’s memory usage is an important factor to consider, especially during startup. The memory usage of Vim and Emacs varies, with pros and cons for each approach. Vim uses little memory during startup, so it launches quickly but offers limited customization. Emacs, on the other hand, offers customizable settings but starts up more slowly.

Efficient and effective memory usage is of critical importance for a text editor, as any error in memory management slows it down. Consequently, Vim and Emacs offer advantages to some users and disadvantages to others. However, one thing should be kept in mind: the importance of memory usage varies depending on the programming language.

Keyboard functionality

How do the keyboard functionalities of Vim and Emacs compare? Vim suffers from an awkward keyboard layout and lacks some optimized shortcuts. In contrast, Emacs uses Meta-key combinations to activate additional functions, enabling customized and mode-specific operations. When it comes to keyboard functionality, Emacs has the advantage.

Vim lacks these features because it is based on the older text editor Vi. Like its predecessor, Vim’s keyboard functionality seems somewhat outdated. However, Vim still allows users to customize the key bindings to make it more convenient. But it takes some time for users to set up the key bindings to their liking. Keyboard functionality is a helpful tool, regardless of which programming language is used.

Adaptability

Both Emacs and Vim are known for being highly customizable and versatile, and for offering a wide range of plugins and extensions that allow users to configure the programs by adding additional features.

Emacs takes it a step further by using the Lisp programming language. With Lisp, users can implement and redefine almost anything in Emacs. For users accustomed to using Vim, Emacs offers packages that allow for Vim-like behavior within Emacs. The best-known package is Evil mode, an extremely powerful Emacs mode that fully emulates Vi and attempts to enhance it by adding compatible and powerful features...

Languages

Vim and Emacs handle programming languages differently. Vim has its roots in the old-school Unix environment and therefore works well with Linux, DOS, BSD, HP-UX, Mac, and other operating systems. Emacs also works with Unix systems and uses special main modes for Scheme, Lisp, Perl, Java, Ruby, and more.

Overall, Vim offers slightly faster performance. However, both Vim and Emacs provide good system support and a wide range of language package options, allowing users to add additional languages or operating systems as needed.

User interface

The user interfaces of Vim and Emacs are well-designed and functional. Vim offers more features than its predecessor but retains a text-based interface. Emacs started out as a text-based program, but newer versions include a modern GUI. If the user prefers a classic layout, Vim is ideal. However, the Emacs GUI still has its advantages.

Experienced programmers benefit from the straightforward approach of a text-based editor like Vim. It feels familiar and lacks “distracting” bells and whistles, even though it has more features than its predecessor. Vim users who prefer a GUI can use gVim or other derivatives. Alternatively, the Emacs GUI approach offers an attractive and easy-to-navigate interface, which is advantageous in many situations. Beginners and professionals alike prefer GUIs, especially when it comes to complex projects...

Religious Aspects of the Editor Wars

The Church of Emacs was founded by Emacs and Richard Stallman, the creator of the GNU Project. This religion is a parody religion and refers to Vi as the “beast” (vi-vi-vi is 6-6-6 in Roman numerals). It does not oppose the use of Vi; rather, it condemns Vi as proprietary software.

“Using a free version of Vi is not a sin, but a penance.” – Richard Stallman for ourTV.net.au (A community TV channel in Canberra recorded a talk by Stallman on video but was unable to launch its project due to a lack of funds)

The Church of Emacs has its own newsgroup, alt.religion.emacs, featuring posts that claim to support this belief system. Stallman refers to himself as St. I. GNU-cius, a saint in the Church of Emacs.

In response, the "Vi cult" was created by Vi supporters, which some Emacs users describe as an attempt to "imitate their superiors." Referring to Vi's modal nature (which is often a source of frustration for new users), some Emacs users joke that Vi has two modes: "repeated beeping" and "breaking everything."

Vi users like to joke that Emacs's keystrokes cause carpal tunnel syndrome, or they mention one of the many satirical variations on the acronym EMACS:

  • Escape Meta Alt Control Shift – a dig at Emacs' reliance on modifier keys
  • EMACS Makes Any Computer Slow
  • Eventually Munches All Computer Storage – in Bezug auf die hohen Systemressourcenanforderungen von Emacs
  • GNU Emacs has come to stand for "Generally Not Used, Except by Middle-Aged Computer Scientists"—a reference to its most passionate fans and its declining popularity among younger programmers.

In a nod to Emacs’s creeping, excessive, and continuous expansion—or the addition of new features—Vi advocates are known to describe Emacs as “a great operating system that’s just missing a decent editor.” It is well known that Emacs advocates counter that the editor is actually very good, but the operating system could use some improvements (referring to Emacs’s famous lack of parallelism, which has now been added).

The Google search engine also got in on the joke by returning "Did you mean: emacs" for searches for "vi" and "Did you mean: Vi" for searches for "Emacs."

Summary

Like Vim, Emacs is a text editor that can be run with a GUI. But Emacs is much more than just a text editor. In fact, Emacs also functions as an email client, an integrated development environment, a document browser, and more. Unlike Vim, Emacs allows its users to use the Lisp programming language to write new commands or override existing ones.

This feature is known as online extensibility. Emacs is also highly customizable, meaning that every single detail can be adjusted down to a very granular level, making its capabilities virtually limitless. Vim, however, remains one of the most popular and widely used text editors, found on nearly every Unix-based system.

At this point, we would like to note that the editor war has a long history, and as is so often the case in the software industry, rapid change is taking place here as well. Today, text editors certainly still play an important role in development, but the landscape has changed significantly. Especially in the last 10 years, it is no longer particularly significant that VIM comes pre-installed on many systems. Nor is it significant that Emacs is memory-intensive or has a slow startup time...

Until around 2010, the only options were essentially IDEs—programs like Eclipse, Visual Studio, JetBrains IDEs, and so on. Before them came VIM and Emacs. After 2010, the software landscape began to change, and new editors emerged, such as Sublime, VSCode, Atom, and others, which gained widespread popularity, causing VIM and Emacs to play an increasingly less significant role.

In 2015, Microsoft released a disruptive technology known as the LSP protocol. This led to VSCode becoming by far the most widely used editor, one that could be equipped with a wide range of features just like an IDE or Emacs. However, VSCode offers many advantages over VIM and Emacs, such as a modern UI, numerous plugins, a plugin marketplace, an easier learning curve for beginners, etc. At the same time, the LSP protocol...

Source: http://blog.davidecoppola.com/wp-content/uploads/2018/02/market_share_cpp_ides_pie.png

Until around 2010, the only options were essentially IDEs—programs like Eclipse, Visual Studio, JetBrains IDEs, and so on. Before them came VIM and Emacs. After 2010, the software landscape began to change, and new editors emerged, such as Sublime, VSCode, Atom, and others, which gained widespread popularity, causing VIM and Emacs to play an increasingly less significant role.

In 2015, Microsoft released a disruptive technology known as the LSP protocol. This led to VSCode becoming by far the most widely used editor, one that could be equipped with a wide range of features just like an IDE or Emacs. However, VSCode offers many advantages over VIM and Emacs, such as a modern UI, numerous plugins, a plugin marketplace, an easier learning curve for beginners, etc. At the same time, the LSP protocol...

Over time, the market share and user numbers for Vim and Emacs have dropped dramatically. In 2018, Vim’s market share stood at 16.5%, while Emacs had a share of just 7.4%. For a younger generation of editor users, such a historic rivalry between two editors is questionable, as they likely use a GUI editor like Sublime or Eclipse.