To do well, you must first sharpen your tools. After using Linux for so long, the mainstream C/C ++ ides have basically been used. Now let's make a simple comparison between them. 1. VIM is about VIM. In my opinion, VIM is just an editor and cannot be regarded as IDE. Although VIM has many plug-ins, such as code folding and progressive code, it can be built into a group similar to an IDE, but it is always not a specialized IDE, therefore, the function support is far inferior to those dedicated ides such as eclipse and code: blocks (this is the last introduction of this article and the ide I would like to recommend to you ). Writing and debugging C ++ programs with VIM + GDB is a "painful" thing. If you are not a unix hacker, do not use VIM as your C ++ IDE. But VIM has its advantages. as an editor, it is very useful when you connect to a remote server through SSH, modify some configuration files, or "fine-tune" the code. Here I will add that the unix hacher I mentioned is not the people who usually understand how to crack the system or attack others' computers (I think they should be called cracker ), I think hacker is someone with strong technologies like Richard Stallman and Linus Torvalds who like to think and program themselves to solve complicated problems (everyone should have heard of Stallman's story about printer drivers). 2. Emacs is a masterpiece of Master Stallman. It is attracted to the master upon first contact. Both advocates and opponents of Emacs have to admit that Emacs is excellent. Emacs far exceeds an IDE, but an OS based on the editing environment. Emacs has many excellent features, even though many well-known ides are incomparable, such as built-in Lisp functional language. Emacs has various advantages, but as an IDE that originated from unix systems and was designed decades ago, there may be many inhabits for us today. For example, the shortcut key is one of them: for example, copying and pasting, many WINDOWS and Linux software use CTRL + C and CTRL + V, while Emacs uses completely different, CTRL + SPACE and ALT + W are copies, and CTRL + Y is paste. More importantly, Emacs also requires plug-ins to implement C ++ IDE functions. And I think the Emacs style is a bit like the things of the last century, so I think if you are not using the Linux system from the very beginning, if you are used to the current editing environment, it is better to choose a contemporary IDE, because it is more used to it. 3. Eclipse is an excellent java ide. With the support of SUN and IBM, Eclipse is indeed doing quite well. Although I don't know java, I didn't use Eclipse to write java programs, but I use Eclipse to write PHP, but I can also understand Eclipse's excellence. And its plug-in function is also very good, there are a lot of Introduction to it on the Internet, I will not talk about it, because, it is not the C ++ IDE that I want to recommend to you today, mainly because of its slow speed and large size. In addition, I have not used it to debug C ++, so I don't know how it works. 4. Code: Blocks the cross-platform C ++ IDE that I would like to recommend to you today is -- Code: Blocks. It is a program based on the wxWidget library. First, because it is developed in C ++, It is faster than Eclipse in terms of speed. Secondly, because it is a specialized C ++ IDE, the configuration is also very consistent with the C ++ development habits, the function is almost comparable to VC2005/2007. Finally, it is an open-source IDE, and it is more than an order of magnitude smaller than Eclipse and VC-the entire compressed source code package is only 6 MB! To tell the truth, I used Code: Blocks at the beginning, but I am very responsible to say that it is really good. In the past, programming and debugging have been struggling in VIM, Emacs, and gdb, and command-based GDB debugging has crashed. After suddenly getting in touch with Code: Blocks, I immediately found myself happy with VC Programming and debugging. A few days ago, when I tried to downgrade a C ++ program in GDB, I thought it was inconvenient to try DDD. So I accidentally tried Code: Blocks, the problem will be solved in a short time. Although it is still using GCC + GDB, It is very convenient for me to use it after it is packaged (although it is so easy to use without VC debugging ). For more information, I don't want to talk about it. Since it is so small and popular OS (windows, mac OS x, redhat, Ubuntu ...) all have compiled binary versions. Why not try? Its official website is www.codeblocks.org. The final conclusion is that VIM is a must for every Linux programmer. It is worth learning and mastering, but you don't have to use it as your main C ++ IDE. Emacs feels a little different from the contemporary software style. After you reach a certain level, you can decide whether to learn to use it. Eclipse may be more suitable for JAVA enthusiasts. Although the speed is not too slow to be tolerated, it is a bit confusing. I strongly recommend that you try Code: Blocks. I believe you will be attracted to it as soon as possible.