Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If you want to learn linux, you will need to learn vim.

It's pretty much the only decent editor constant in all linux distos. I think it's better to get it out of the way or the linux user won't be able to edit a file properly.



Uhm.. no.

I know _way_ too many sysadmins, even distro maintainers, seasoned devops engineers, who have stuck with nano, joe, etc. for years and years and still stick by it. Although I am glad that I learned vim when I was starting out some 6 years ago, I wish I had spent all that time learning Python or Perl well. Too often the importance of vim is over-inflated as a necessary skill -- but it's just one _tool_ (besides emacs) that gets you some efficiency. That is all it is. I would _never_ advise someone starting out with Linux to spend huge amounts of time learning vim/emacs, it's too much of a distraction in the beginning.


The big difference between vi and all the other editors out there is that some version of vi is installed by default in just about every variation of *nix you're ever likely to encounter. Vi doesn't have to be your favorite editor, and you don't have to be a power user, but you have to know at minimum how to edit a file with reasonable proficiency, so you're not completely lost the first time you ssh into a box that doesn't have your favorite editor installed.


Couldn't you just pull in a nano binary (assuming you've no access to a package manager on the remote host) if you've more than a few lines to edit.


Assuming you have one handy that is statically built against the the right libraries for the right architecture and the right OS, and assuming the machine (and network) is in a state where you can get at the place where the binary is stored. But that is a lot of assumptions and I would rather just take the time learn the basics of vi rather than hope that all those assumptions always happen to be true.


It's not about being able to install your other favorite editor. It's about knowing how to use the one common editor between linux distros.


If you're a system administrator, it's highly likely that solving this problem is probably as difficult as the original task you had to do.


But I never said you have to spend huge amounts of time learning vim. You just need to learn the basics and it will help you a lot more than not covering it at all.


All you need to know is:

press

   i
to start editing text

to save and quit, press

    ESC + : + w + q + ENTER


or just :x


or Shift+Z-Z


IIRC the basics are ":wq"?


I think the biggest confusion in vi is the insert/normal mode. Unexperienced people tend to think on a text editor when you type ":" you add that to the text, while in vim it's the start of a command :D




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: