9 ms·
This is a great reason to learn vi for basic editing tasks. It's everywhere. Even if you typically use a different editor/ide, vi is a common ground. Disclosur
by emidln 7y ago
This is a great reason to learn vi for basic editing tasks. It's everywhere. Even if you typically use a different editor/ide, vi is a common ground.
Disclosure: I'm an emacs user
- SOLAR_FIELDS 7y agoIt’s kind of weird to NOT know basic vi/vim if you get to a certain point in your career. If you can’t at least open the software, go into insert mode, and save/quit, have you ever had to ssh into a remote server and edit a config file before? Only excuse I could think of is if you literally did everything in windows for your entire career.
- npstr 7y agoWhat's wrong with using nano for that?
- MayeulC 7y ago> It's everywhere. It almost litterally is. Even busybox contains a vi clone. While I have encountered more systems without nano nor Emacs than I can remember. Plus, there is no excuse for learning the basic set of commands: i,ESC,x,u, and maybe navigating with the letters (which I'm not proficient at).
- GordonS 7y agoI only have to edit a file on Linux once every couple of months of so - I tired of forgetting how to exit vi (or enter/exit edit mode, save the file... just about anything really), so started installing nano as the first thing I do on any system. Nano is so much more obvious than vi.
- GordonS 7y agoAlso, there's a reason why there are so many "can't quit vi" memes.
- loopbit 7y agoReading the comments about vi... Am I the only one that knows/uses ZZ to save and quit?
- MayeulC 7y agoAs I tend not quit vi that often compared to the time I spend inside, I prefer to use the more explicit version. I have made some mistakes in the past typing `^X-O` in nano instead of `^X-N` because of muscle memory, thereby overwriting a file I didn't want, and I am afraid of repeating this if `ZZ` became part of my muscle memory.
- nemetroid 7y agoMost people can't install arbitrary software on every system they access.
- MayeulC 7y agoThis exactly. I am pretty sure that if you gain [adb] shell access inside of an android recovery partition (as a random example), you have read-only access to the system, with only busybox at your disposal. Thus vi, but no nano.
- saagarjha 7y agovi is enshrined in POSIX; nano isn't.
- leadingthenet 7y agoYeap. Even the hard-core Emacs fanboys at my work know a few basic vi/vim commands. I mean, you're almost certainly going to use it at some point in your career, might as well learn "i -> type something -> :wq" at the very least.
- noir_lord 7y agoBeen using Linux since the 90's and opening, editing and saving is exactly what I know in vi. All that does is remind me that I haven't set nano as the default editor on that box and then I move on.
- izacus 7y agoIs it? There's plenty of amazing engineers and systems architects who develop (gasp!) on Windows and don't even use command line. And many many of those have designed highly reliable systems driving your basic infrastructure, power plants, industrial systems and myriad of other systems. Why on earth is knowing an old editor connected to anything useful you need from a person in a job?
- AdrianB1 7y agoHonestly I don't know a single good Windows guy that don't even use command line, there are basic things like ping, tracert, curl and openssl that you run in a command prompt. This is assuming you can get around using powershell.
- scarface74 7y agoPing and tracert sure. But curl? I’ll use Postman for quick sanity checking and I’ve never had a reason to use OpenSSL
- yoz-y 7y agoKnowing vi basics is useful, I agree. However, for interviews I really don't think that putting a candidate who is not familiar with it is a nice thing to do. Any modeless editor should not cause trouble but vi (especially) is quite pernicious and the candidate would be just losing time.
- panpanna 7y agoIt's a very easy way to find the 0.5x engineer. But I agree, it should not be a show stopper. (Emacs and vscode user here)
- yoz-y 7y agoI believe todays programming field is vast enough that you can actually have a really good engineer that never needed to touch a command line editor. An iOS or android developer with 8 years of experience for example. Other front-end positions too. I love vi and set it as editing mode everywhere, nevertheless I accept that it might not be something people actively seek. If I was looking for a unix server admin then I would definitely assume they know vi.
- walshemj 7y agonot for realy good Engineer in my book.
- detaro 7y agoWhy is "unix server administration in an environment that doesn't have other options" such a critical skill for all engineers? Or why else is vim experience required? Sure, many are going to have it, but it doesn't mean anything in itself.
- prepend 7y agoI don’t consider vi to be a system admin tool only. While I don’t think vi is a showstopper, it would certainly be curious how a mid to senior engineer wouldn’t know how to use insert and quit in vi. This would make me think that a Windows only background never even meant connecting to a shell and having to view a file. I’ve experienced lots of app developers who only use an IDE and don’t know how code is deployed or runs so they’ve never debugged a deployment, ever. They are in a big enough environment where that’s someone else’s job and they never have to talk with them. That’s perfectly cool and folks will make a living and retiring in that world. But I don’t typically hire too many of those because I work in cross functional teams where the windows devs have to at least be able to understand and communicate with the Linux devs, and vice versa. That means having basic user level skills like two commands in vi, because it is almost always available on Unix systems. And frequently the only one allowed. I think folks confuse this as meaning that people who don’t know vi are dumb, they aren’t. They could be geniuses who just don’t need to know vi. But for many types of interviews, it’s a super easy screening question that makes me follow up with more questions if they answer “I have to google.” It would be similar if a developer didn’t know cd or had never seen notepad or something.
- walshemj 7y agoPity I cant upvote you more than once, everyone who works on a unix system should know the basics of vi. And I would argue that you could apply that to all programmers
- verbify 7y agoIt's everywhere if you're on unix systems. Windows devs have little exposure to it.
- sys_64738 7y agoI think vi is the de-facto install of an editor on any non-Windows machine. You can't assume any other as vi in its simplest form is extremely lightweight and prevalent.