Why Emacs and Vim are called two great artifacts

Source: Internet
Author: User
Tags ultraedit

Emacs is the editor of God, and Vim is the god of the editor. Why do they have such a reputation, and listen to this article to you one by one of the way.

Author: Jiqing Wu
Email [Email protected]
Homepage: http:://hi.baidu.com/jiqing0925
Create 2011-01-09
Update 2011-01-09
For the reader: A classmate who often uses a computer to process text and programming.

Directory

    • 0. Prologue: The Legend of the artifact
    • 1. Unbeatable scalability
      • 1.1 Scalability gives software a powerful life
      • 1.2 Emacs is an operating system disguised as an editor
      • 1.3 Vim is not just VI
    • 2. The charm of Maverick
      • 2.1 Extensibility gives you the soul
      • 2.2 Unique modes of operation that you're poisoned.
    • 3. Hacker's editor
    • 4. Holy war caused by artifact
0. Prologue: The Legend of the artifact

On this blue planet, there are legends of two great artifacts: Emacs is said to be the editor of God, and Vim is the god of the editor.

The pursuit of Cavatina and low hands to see their elegant demeanor, can be seen their simple thin interface, can't help but doubt: this is the artifact? Even some people have been born with contempt of heart.

Shallow people scoff, said: "What age, still holding such old-fashioned things don't put, really his mother geek! Students, please calm down, listen to me: they are old enough, have decades of life, but you think why, why so old editor, but there are more and more people to convert them.

Under Windows with UltraEdit and EditPlus people questioned: In the end they are better than UltraEdit and EditPlus? I said: Not a word.

Even UltraEdit and editplus are useless classmates asked: they are equivalent to Linux on the notepad it? I said: Please disappear from my eyes.

Some people bravely picked up vim or Emacs, but found that the learning curve is steep and long, so in the not found their strong before give up, said: too difficult to use, the keyboard when the mouse with the rotten thing, what good?

There are still some who have stayed, firmly guarding the two great artifacts. Some people who say that the grapes are too sour want to leave and are unwilling, always ask: Where in the world is God? I can't help but think of the lyrics of Li Zongsheng:

Someone asked me where you really are, and I can't forget all these years. Spring Breeze is not as beautiful as your smile, the person who has not seen you will not understand.

Perhaps you will not understand, I still have to try to talk about.

1. Unbeatable Scalability 1.1 Scalability gives software a powerful life

Once upon a while, Windows users had no concept of software extensibility, and they could only make very limited customizations to the software they used. The right to extend the software remains in the hands of the software developer. Users of software who want new features and features can only wait for the software to be upgraded. The ability of the user can not wait, in order to add the features they want, starting from 0 to write a new software. In this way, new features mean new software, software wave upon wave under Windows, and rapidly updating. As a result, software under Windows is very short-lived.

As Linux and open-source software became popular, it was discovered that scalability could give software a powerful life. Why is eclipse named the best ide in MS vs Rampage today? That's because it's the most extensible in the IDE. When IE is almost eminence, why Firefox can take more and more users is also because of its extensibility. Provide a good extension interface, users will naturally write a variety of plug-ins to meet the user's own various requirements. In this way, the software is naturally stronger with the user's push.

Emacs and Vim have not been eliminated by the times, but are becoming more powerful because they have unmatched scalability in countless editors.

1.2 Emacs is an operating system disguised as an editor

There is an exaggerated saying: Emacs is an operating system disguised as an editor. It is not an exaggeration to think carefully.

Emacs is actually a Lisp interpreter, so you can use Lisp to expand flexibly. Lisp is something that is also a very powerful programming language. In the age when C was not invented, MIT's AI Lab wrote its operating system in part with assembly language and part of Lisp. Today, Lisp is still widely used in the field of AI research.

With such a powerful extended language, Emacs is destined to be in the direction of omnipotence. Gradually, people use Emacs is no longer limited to writing programs, writing documents, and in Emacs to manage the file system, running terminal, receiving mail, surfing the internet, listening to music. Even, someone uses Emacs to control the coffee machine to brew coffee.

This chatty extension, which deviates from the Unix philosophy of "a program does only one thing and does it well", is criticized by Unix's loyal users. But do you really deviate from it? Did Emacs say that he was an editor?

It is because of the invincible extensibility of Emacs that people want $ whether Emacs is an editor or not. But it is someone who likes this all-in-one philosophy and likes to do everything in Emacs. So someone will write "live in Emacs", so Emacs will become a kind of faith.

1.3 Vim is not just VI

Vim is one of the most popular variants of VI, in addition to inheriting the VI swiftness of the editing method, the function of vim is much more powerful than the original VI. This also benefits from the ability to extend infinitely with vim scripts. There are already thousands of scripts on the vim.org, adding a variety of features and functions to vim.

In order to prove that the scalability of vim is not lost in Emacs, there are also user-written plugins that play games in Vim, run the shell, and integrate GDB's internal debugging in vim. Objectively speaking, the scripting language of vim is slightly inferior to the elisp of Emacs, but this does not prevent it from extending vim into a very good editor.

In the final analysis, Vim's predecessor VI and Emacs Design adopted a different philosophy, vi more in line with the Unix tradition, it through the pipeline mechanism and the system of various building block tools to deal with, it is fastidious with the system within the tool program to complete the user's task. Compared with Emacs, it is clearly positioned to be a powerful editor. As a result, most of the extensions of Vim are designed to better complete the task of editing text.

The Sea of the rivers, the capacity is large. Emacs and Vim can be one of the reasons why they can become "artifacts" by not being able to scale with other editors and absorbing the wisdom of the vast majority of users.

2. Maverick Charm 2.1 Extensibility makes you a soul

Once you realize the power of vim or Emacs, you embark on a long road to discovering their potential. You keep improving your profile, you keep searching for better plugins, and even one day you start writing your own plugins. Like a swordsman who maintains his sword, you are willing to take the time to improve your vim or emacs. Over the last few, you have poured your soul into that sword.

2.2 Unique modes of operation that you're poisoned.

Emacs and Vim have a different way of operation, but has become the Unix/linux world of two representative operation, some software operating in the same way as VI, and some software similar to Emacs, and even some software provides the VI key binding and Emacs key binding let you choose. Either way, it's weird for Windows users. Strange as it may be, many generations have verified the efficiency of these two modes of operation.

Emacs claims to be ctrl-to-die editor. In fact it almost used all the auxiliary keys, have heard of no, Emacs = Esc + Meta + Alt + Ctrl + Shift. So the master Gartner says that manipulating Emacs is like playing the organ. Emacs uses a very high number of combination keys, which is probably one of the reasons why it is more efficient than other modeless editors. You can also define your own sequence of key combinations, call your own Lisp function, and complete the function you want.

VI has always been famous for its fast text editing. Its buttons are more concise, usually a single character button, to achieve some kind of operation. But this is at the cost of a pattern. You have to press ESC repeatedly to return to normal mode from its insert mode. Objectively speaking, in text editing, Vim is more efficient than Emacs because it provides a number of actions that Emacs does not function to assist in efficient text editing. But it's mode switching also makes some people can not stand, so those people chose Emacs.

Whether you choose Vim or Emacs, you have to work hard to get used to their unique ways of doing things, which is a process of skill accumulation. When you get used to vim or Emacs, you will have the feeling that you want to use them to do as many tasks as possible, because you are no longer accustomed to using other editors.

Using Vim or Emacs is like taking drugs and slowly becoming addicted to it. They will give you a sense of intense pleasure, but you have also sacrificed your soul to them. At this point, you can only call them artifacts.

3. Hacker's editor

The author of the predecessor VI of Vim, Richard Stallman, author of Bill Joy and Emacs, is the famous hacker of that era, so the first major user of the two editors was the one who wrote the program, and it is still. They add more and more support to programming, such as syntax highlighting, smart indenting, keyword completion, and even integrated debugging. There are also more and more programmers moving from the IDE to vim and Emacs.

What are the benefits of programming with VIM and Emacs? I think the first is that their efficient editing operations will improve your programming efficiency. Second, you can use them to complete the programming of various languages, the so-called sword in the hand, the husband how to beg. You don't have to learn to use different Ides because of the different programming languages, and the huge IDE upgrades are no longer relevant to you, so you can focus on learning the programming language itself. I heard that Google and Microsoft internal development also do not have the IDE, they will also use Emacs or vim.

Because I do not write a lot of programs, you can not delve into the fun of developing programs with VIM or Emacs. I just think it's cool, you see, the father of Linux, Linus, has been using a microemacs for years, much less than GNU Emacs or XEmacs, but Linus is using it to maintain Linux. The father of Microsoft's Daniel Don Box,com, who has been using Emacs, says no one can take his editor. He also put a video of his C # program written in Emacs online.

The choice of programming gurus is also one of the reasons why Emacs and Vim are sought after as artifacts.

4. Holy war caused by artifact

Vim Users and Emacs users have a comparable taste, they should appreciate each other. The reality is that users who are loyal to vim are incompatible with users loyal to Emacs, and often fight with endless battles. Emacs users say that Vim operates in a single and eccentric way, and vim users say that Emacs is bulky and slow to start.

A bit of a mountain is not allowed to two tigers mean, probably because they are in the height of the artifact, will struggle constantly. It may also be that the different design philosophies attract users who are not mutually agreeable in their values.

Because the two are difficult to compete, the newcomer is always hesitant between vim and Emacs, it is difficult to decide which God to convert to.

Why Emacs and Vim are known as the two great artifacts

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.