GeneralThis forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I have no idea to be honest. I learned vi first. It works great for the text editing I need to do. I am no programmer so no need for any of that. Mostly I will edit a configuration file here and there and maybe work on a document or such. I guess it all comes down to choice and being able to express that choice. You like nano. I like vi. Linux gives us that choice and all with the freedom to change our minds. The real value in Open Source is not in the cost, but in the freedom given us.
I use mostly vi(m) as I grew up with it (still don't consider myself a specialist). Things I like are:
multiple file editing
search and replace with regular expressions
exactly define where to search and replace (e.g. only between line 3 and 8)
flexible navigation through file
Not really familiar with nano, so these things might be available there as well.
It's actually very useful to learn, for if your if for whatever reason you are left without a graphical user interface (It doesn't always have to be a bad situation where you are left without a GUI) vim will come in handy. Since vi/vim is a very common *nix text editor, if you ever want to get serious in that area, vi/vim is what you need to learn.
nano/pico/alike editors for simple&quick text-editing, like changing some config values in a configuration file..it's just so simple and fast. And vi(m) for programming in command-line environment (also in X, if needed), because of it's abilities. Not that other programs couldn't do the same things vi does (like Emacs), but I've become familiar with it, and since it's found on every UNIX-like machine I use, why not? It would be annoying to use some other editor and then find out the other machine doesn't have that, use some other editor on it, and again some other editor on the next machine because it doesn't have either of those... So, it's everywhere, it's nice, why not?
You could install gvim. It operates in a terminal but has a graphical menu. If you use sudo, you need to use "visudo" to configure it. So knowing the most basic fundamentals of 'vim' is a must. Also, the rescue environment probably has 'vim-minimal' as the editor.
In part because you can always count on it being there (vi, not vim). You have a down system. It won't boot. You finally get it in a state where you can fsck, mount a partition, and fix some boot configuration or something. vi. It's there. ssh over to some oddball unix system to help someone else out. vi. It's there.
I also have `set -o vi` in my ksh environment. So, the same keystrokes work for my command history.
I remember 15 or 20 years ago playing some version of asteroids that worked on my computer. Same keystrokes to navigate my ship. Maybe that's why vi felt right. ;-)
Anyway, once you have the keystrokes in the microcode of your fingertips, you don't have to think about it anymore. It just works.
Last edited by choogendyk; 10-04-2007 at 06:29 AM.
vi is based on the principle of "hjkl" - which lies under one hand and is easily reached.
And "j" and "f" are the typing baselines - some keyboards (like my thinkpad) have still a very small marker on them.
So, if laying hands on the keyboard in typing position, vi suddenly makes sense, because the right forefinger is exactly in the j...
And yes, I also did pull the modem plug when I started with vi, because I didn't know how to quit those damn thing and neither x, q, ctrl-x, ctrl-q or anything else I tried, worked and I didn't got this : thing a t first.
And set -o vi saved my life more than one time when I sat in front of a totally unknown Unix and never having seen a ksh before..
nano hadn't been written when I started doing this, so I learned vi... Once you know vi, there's no need to switch. If you're starting out fresh, then perhaps it's not the best choice since nano would be easier to learn.