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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
PLEASE NOTE: All LQ Rules apply to the General forum. Flame wars, personal attacks, hostility, insults and behavior of that nature will not be tolerated. Differing opinions are one of the things that make this site great, but to benefit from differing opinions the discourse must happen respectfully and thoughtfully... without insult or personal attack. Members who are unable or unwilling to participate in General under those parameters will not be permitted to do so. If you see behavior of this nature please report it.
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 07: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.