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

His reason for why he’s a vi guy was funny! (He only had 60M free for his Linux partition and emacs wouldn’t fit). It did sound mildly apocryphal but so did most of it.

My reason for vi is equally random. I learned Unix at college, but I wasn’t allowed on the systems because I wasn’t an engineering student. I had to resort to nefarious means to get online, so I needed to keep a really low profile. The easiest way to do that was to remote into unused boxes in the lab. (This was back when it was easy to get onto an intranet and hard to get on the Internet — it’s exactly the opposite now!) The systems that were usually available were these crappy diskless Sun workstations that booted over the network. They didn’t have enough memory to run emacs without paging and paging over the network is a recipe for frustration. Plus if someone logged in and the system was slow the first thing they’d do is try and find out why, which might lead to them wondering why I was on that system, just who I was, etc and that was a bad direction for me. I also couldn’t talk to people in the labs since I wasn’t supposed to be there, so I was entirely self taught, and emacs seems like the sort of thing someone has to evangelize to get you over the initial hump.

Anyway, that’s my story — what’s yours? :)



My first time using Linux on my desktop I used to have video card issues a lot, which means I’d get locked out of an X11 environment and be stuck in the console trying to fix things. I didn’t have another machine to use to search the web for help so I was just kinda on my own.

I used to just hit <Tab><Tab> to get Bash to print all possible commands, and I’d just try random ones until I found one that would let me edit text, and vi was it. It was pretty fun learning how to even quit vi, let alone edit any text, but I was pretty determined back then.

That’s mostly how I learned Linux back then: just hit <Tab><Tab> and try out any random command that looked interesting and see how it worked.


That seems both like an interesting and a very scary way of exploring your system. If you're careful, by checking manpages if present and running with the normal --help flags before trying anything else, you're probably fine; but it seems dodgy nonetheless :p

I wager you didn't know about text-based browsers like lynx? I'd say that would have been a solution to your predicament.


I eventually discovered lynx as well (or maybe it was elinks that I used first?) which ended up being a pretty big help in these situations.

But yeah, it definitely was a scary way of doing things. I spent pretty much an entire summer repeatedly screwing up my Debian machine and having to reinstall before I understood enough things to be slightly less dangerous. (Running "ed" by accident was memorably awful... Good luck figuring out how to quit out of ed if you're brand new to Linux.) Luckily I kept my important stuff on a separate hard drive which I left unplugged in situations like these. My main drive just contained my windows and linux partitions, and I would be damned if I was going to reboot into to windows to look things up. :-D


Kinda similar reason, but the story itself isn't as geeky.

I didn't come from a rich family. Throughout my whole education, I was on hand-me-down computers. They were predictably low-spec but that's how I learned HTML, JS, and CSS in high school, and then Scheme, Java, PHP, C, et. al. in college.

Add to that the fact that our internet connection isn't great either. Alongside learning how to program, I developed a preference for tools that came out of the box. You didn't have to download them and you can be fairly confident that they are compatible with the hardware specs you got. It's for this reason that I was never fond of IDEs ala Eclipse and NetBeans; when I started messing with Linux, I used GEdit. Eventually I started doing AI stuff and, either by sheer nature of the algorithms themselves or maybe my own programming incompetence (or both), running those algorithms made my already poor computer crawl (I had 2GB of RAM back in 2010-2012, when this story took place). So I started to really try to squeeze more resources out of my machine.

Among the first to go was GEdit. I could not prove this to you scientifically but my reasoning was that if it had to draw a window, it was eating on my resources. So I learned vi, another decent text editor that came out of the box with Ubuntu. I would've gone for nano but I thought, if I'm gonna learn how to use an editor that does not render a window, I might as well go for the one with the more geek points.

Eventually, I started working and got relatively better internet connection. I finally learned the difference between vi and vim so now among the first things I do on a new machine is install vim (although in my bashrc I have alias vi='vim'). Learned a few tricks from my coworkers who used vim and started a dotfiles repo with my own vimrc. I still try to stay minimalist though. I don't install plugins so I bet by most vim users' standards, my set-up is horribly vanilla.


I had a prof in college who demonstrated stuff in vi and I knew immediately that I wanted to do what he was doing. If he'd have been an emacs guy, then I probably would be, too, but instead I still prefer vi over anything else ~15 years later.


I feel like the first time you see a vim/emacs power user is one of those eye-opening moments in your learning.


Back in college around 1996 or so, the only Unix workstations we had were shared DEC Alpha machines. Nobody in our university knew anything about Unix. It was basically a Win95 shop. The only way to edit a file on DEC Alpha was using vi or that's what we were told. I still remember struggling for the entire exam. I think you passed if you were just able to type out the program lol. 3 years later, once I graduated and started working all of the unix guys were using vi. I had not even heard of emacs. So naturally I started using vi. 2002 some of my friends started using emacs but I was too embedded in vi to learn anything new so just didn't bother.


In college (90s) we had an ACM student chapter with an office that had several different workstations: Sun, AIX, even an SGI. Of course the beefiest computers with the best graphics were the most popular and first to be claimed on any day. But there was also a 9600-baud terminal that could be used to telnet into any remote host. So I got better at coding with vi and screen and I almost always had a place to code because that terminal was almost always available :)


I converted from mouse&click guy to command-line&scripting guy thanks to my employer who made my workstation a vm I had to rdp to over slow network.




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

Search: