The words of the operating system, programming language and editor seem to be the eternal topic of the programmer's spat, and the technology has developed over the decades, and we have been discussing these "battles" with anger and relish. Someone described Emacs and VI programmers, everyone along the different roads and goals forward, but always at some point cross meet, throw stones, hit each other black and blue, and then clean up the mood and continue to move forward.
A while ago I wrote a micro blog on the microblog reply, is about vim and the IDE discussion:vim and those IDE's application is still different, in my opinion vim is also the IDE, is one of the necessary skills of programmers. This basically expresses my point of view.
The original micro-blog is @ Yuber also called Condor released, this microblog forwarded a review hundreds of times. In fact, the meaning of the expression is very clear, and mainly for the front-end development, but 140 words is too little, so that there is no time to explain, a lot of service-side programmers have already washed their arms rushed up, Yuber later or on GitHub wrote a long text, just counted over. Article is very good, interested in children's boots do not look at the micro Bo, tired, directly read this article is good.
The direct consequences of this matter, or left me the sequela is that each time their own use of vim is always pondering this matter, are programmers, are editors, how is that so big difference? Is there such a big difference? The more you think about writing an article about Vim. Non-controversial, only to explain and share, because work for more than 10 years I have never used a programming tool to do everything Zhu Er, different scenarios under the various editors have used. It has been a great achievement to use the most suitable tool in the most suitable scenario by missing and using the right tools. Every good editor has some legendary stories that are worth particularize, but this time I just want to talk about Vim.
Many people equate vim with Emacs, some say that Emacs is a bundle of text editor operating system, I seldom use Emacs, not familiar, but feel this words majestic. Vim, although not the operating system, but also formed its own ecological environment. Seemingly simple tool, it seems to be a text editor full of shortcut keys and speed sense, once in-depth, but full of endless fun ...
As for why this is a name for this article, the reader is as good a gimmick. In fact, Vim, Emacs, ST2 and so on have not much difference with the IDE.
Programming Life
My personal contact with Vim began in 2000, at the time of the first wave of the internet, I just graduated soon, as now passionate young people, into the melting pot of the internet (of course, and now the Internet is not the same, most of us have been melted down), I participated in the first Internet product is Hongen online.
At that time Hongen gathered a lot of Tsinghua University students, there are a lot of technical cattle, such as baby, Star, Panpan and so on, are big figures, and then some of these people left to create their own business, and some stay in Hongen formed the perfect World game platform technology team. At that time are need I look at the role, they exclusively use VIM in the server-side programming, even syntax highlighting are not set, the BBS is also the same year smth, through the terminal Telnet access. In the office, exclusively are dark screen, lacquer green word, crackling in there tapping the keyboard, very rhythmic, I think, this is simply cool.
The server-side operating system used to remember is Redhat Linux and FreeBSD, and the programming language is Perl, HTML4, and JavaScript. In this environment, for me such a perennial use EditPlus rookie, the pressure is very big, others development, compilation and release environment are on the server side, and I need to write a good program locally, through the EditPlus FTP function upload to the server side, and then debug, test and release, Very troublesome. So in addition to learning programming skills, I also need to master the Linux operation and vim editor. At that time Eat live in the company, enough to let you do not learn all embarrassed, so quickly mastered the basic operation of Linux and Vim, the code when the hands on the keyboard and fly a very fulfilling feeling. I have a special interest in grammar, often put their own interface configuration of colorful, nothing to see is also a pleasure.
Since then, more than 10 years have passed, their work has not left vim,2001 years to start using Java, JSP, then Eclipse, Idea, NetBeans "artifact" has not yet risen, we are still in the server-side programming, through make compilation and debugging, Integrate testing and publishing by writing shell scripts, including product installation. Later, with the development of these cow Ides, most of the Java EE-related work was transferred to the IDE, followed by a two-year script such as Python, and began to use vim in large numbers, and the programming environment was Solaris. Since then the work involved a lot of technology, VIM has been used intermittently. By the year 2009, I began to completely switch the work environment to the MAC, remember to open the Mac terminal, ecstatic thinking, this is not the perfect combination of vim, shell and IDE? Later, I wrote a blog to introduce this experience.
Until now, VIM is still an indispensable tool platform for my work and study, and there is so much to learn from Vim alone.
Usage Scenarios
I advocate the use of the most appropriate tools in different scenarios, which is consistent with @ Yuber also known as Condor. Then someone asked, what is vim suitable for the scene? To put it simply, VIM is more suitable for Unix/linux server-side programming, which is of course individual. My personal use of vim is mainly used for SHELL/PYTHON/C programming. Ruby also writes, but uses textmate more. Unix/linux server-side editing and modification of the file is also inseparable from vim, in addition, because my personal working environment is a Mac, so change a text file or something, also use vim handy to do.
And the reality of a lot of programmers to communicate, you will think that without vim can modify the server-side files, FTP pull down, and then transfer up. This is certainly a scenario, but not the best solution. And in extreme cases you need to solve the problem directly on the client server, you can not say sorry I do not edit the file under Linux, down a copy down first? This is like using Vim to write markdown files, can be used, of course, some people have already developed the MD plugin for Vim, can be written by shortcut keys to view the translated HTML text, but this is obviously not as good as Mou+byword.
Writing Java EE, Html/css/js, objective-c, the best solution may be eclipse, idea, Xcode, and so on, these excellent tools can help us improve efficiency and reduce errors, but if you want to further, then vim is definitely worth it.
Vim has been used for many years, has not been summed up (this person is very lazy), I would like to just use this article to share the experience and usage. The introduction of VIM on the network of articles voluminous, a variety of sophisticated usage of countless, it seems more time-consuming and laborious. Vim itself is out of the box, nothing is configured or can use its basic functions, if you have mastered the basic operation, the following can help improve efficiency, create your own vim.
< to be continued, the next article introduces the basic concepts and configuration of vim, then the plugin, then the VIM programming ......>
"Turn" who says Vim is not an IDE? A