Should I need To Learn How To Write Code On VIM Or IDE
Vim text editor logo |
This document is written in Vim, a terminal based text editing program, there's not a lot of fancy things to do with Vim. It can not be used for doing any complex editing, but it's still working so it's actually not that bad for writing, because it’s very fast, and i love working on a terminal a lot.
When I am writing code on Vim, you need to memorize your codes because there’s no code autocompletion like if you are using an IDE. But that’s actually a good practise on writing codes, because you can write code much faster if you remember all of the language's syntaxes.
I still kind of switch between IDE and VIM, because sometimes the clients or project managers at the company that I work for need a quick fix, so I only use vim for doing personal projects in my spare time.
If you are a beginner, an IDE can really help you write better codes quickly, and also it will guide you with lots of code recommendations. But for me I have been using IDE for quite a while, so it’s probably time for me to write code entirely without the help of an IDE. Only with my brain and Stackoverflow.
Working with vim is not that hard, the basic thing you need to know is probably just switching between command mode, insert mode, and visual mode.
To open an editable plain text file, whether it’s a C code, or Javascript, or just plain TEXT file, first you need to locate to your file location using CD command, and then type VIM filename to enter vim editor, you can only use arrow down and up to scroll, you can not use your mouse. And then to edit the code, press the letter “i”, after finishing editing then press “esc” then either to save the file, enter command “:wq!” or to discard, just use “:q!”.
If you want to do some basic editing like select, copy and paste, you need to go to the Visual mode, by pressing “v” for visual, instead of “i” for insert. Then to select the block of lines, just move the arrow key, up, down, left and right. To copy the selected texts, use “y” for yank and, to paste use the letter “p”. To delete a selected file use letter “d” for delete.
Can you write codes on vim entirely? I don't know, so far it’s been a very big task for me. It is really difficult to write codes in vim, you really need to learn about lots of vim commands to use vim efficiently.
Simple things like how to select lines of code, how to copy and paste, otto delete those selected words maybe it’s not gonna help you much, because codes sometimes need a good and concise style so other people can read it.
So even just very simple simple things writing code in vim is not easy, especially if you are a beginner, it’s not gonna get things done quicker. Compared to writing codes on notepad plus plus or sublime text for example, it's gonna be a lot faster. But I believe you just need to get used to it, everything needs practice.
I don’t know why I'm so evangelical about wanting to use Vim and want to get rid of advanced editors. One of the reasons is probably because I need to remember codes and write codes like writing an english sentences. I want to write code without looking for the reference. I also feel that sometimes when I look at task managers, I see that those IDEs really eat up RAM, I really see something even just Megabytes of RAM is already a lot, sometimes it’s bothering me. I want everything not to be wasted.
For some expert vim users, who have been doing vim for years, I kind of admired them. Either they are happy and satisfied by only using vim, or maybe they just don’t know about smart IDEs. Maybe they haven’t discovered a better IDE, like the smartest IDE I have ever known is Intellij. Intellij is probably the most amazing thing a code editor I have ever used, especially when it comes to doing some Java code.
Maybe it’s because Intellij is originally a Java specialist editor, so the developer is much more focused on Java. If I compared using other languages, Intellij doesn’t seem to work well.
But the thing I like about Intellij is that you can also write your own plugin. Intellij provides somes APIs for you to write your own plugins if you need some support for tools that you use but are not supported by the IDE yet. I even tried to develop one plugin for myself, but I couldn't continue because it looked like a very heavy task.
Writing an IDE plugin is so difficult, imagine how to parse a plain text into meaningful structure, I just end up spinning my head until I feel very sick.