4 ms·
Have you ever tried to set up a colorscheme for vim? Add plugins, set keybindings? Imagine a non-engineer trying to do any of these things. Even as an engineer
by phailhaus 8y ago
Have you ever tried to set up a colorscheme for vim? Add plugins, set keybindings? Imagine a non-engineer trying to do any of these things. Even as an engineer it's taken me years of iteration to get vim to a place where I'm as fast as I am, and I still get frustrated setting up a new computer (and I've gone through the trouble of hosting my dotfiles on GitHub!)
- creyes 8y agoI think that it's probably better to start with a solid vimrc and then make changes from there. Ours is pretty standard and included with our standard dotfiles https://github.com/thoughtbot/dotfiles/blob/master/vimrc https://github.com/thoughtbot/dotfiles/blob/master/vimrc A HUGE problem with developers learning VIM is that they think they have to go from 0 - 100 immediately when you can adopt VIM gradually and still see noticeable efficiency increases.
- phailhaus 8y ago> A HUGE problem with developers learning VIM is that they think they have to go from 0 - 100 immediately when you can adopt VIM gradually and still see noticeable efficiency increases. That iterative process is exactly what I'm talking about. It's taken years to develop my vimrc, because starting with a "prebuilt vimrc" means that you don't really understand what is pure vim, what's custom, and what issues you might run into because of those custom settings conflicting with new plugins.
- alpaca128 8y agoIt can be tricky, but doesn't depend on the user being an engineer. It mainly requires the right mindset. Some people find even an iPhone too complicated, others don't mind reading the manual for a minute. For some users Vim just makes sense, while certain people will struggle with saving files in Notepad because they think a specific button is at the wrong place and refuse to learn it any other way than they imagined. > I still get frustrated setting up a new computer Why is that? Setting up Vim is the easiest task for me, it's literally just a matter of copying some files.
- phailhaus 8y ago> It can be tricky, but doesn't depend on the user being an engineer. It mainly requires the right mindset. A mindset that is suspiciously similar to an engineer's. :P For example, you need the user to memorize the fact that all the configs are in a ".vimrc" file in their home directory. Oh and since it's a dotfile they might not see it immediately. And then if they want to add custom shortcuts they need to learn exactly how the syntax works, the different "modes", the types of remaps, etc. It's a horrible experience for a non-engineer. > Why is that? Setting up Vim is the easiest task for me, it's literally just a matter of copying some files. I have a lot of plugins (e.g. syntax highlighting, linting, and autocomplete for different languages), and each of those can have their own dependencies that they require you to install before they'll work.
- TeMPOraL 8y agoIt's absolutely a matter of mindset. I tend to use the example of a car in these topics, but I have a better one: a coffee maker. There are numerous non-obvious things one has to learn about coffee makers - like how to apply a water filter, and what kind to buy. Like the symbols that mean "not enough water", "not enough coffee", "dredge drawer full", and what to do when they show up. Somehow, I never see anyone complaining about this - because there's a social expectation that people can and should figure this out. The coffee machine comes with a small booklet explaining all of this in pictures and a dozen languages. Yet somehow, with software people think that the UI should just have a button labeled "get my job done", pressing which will get their job done. It's a really broken mindset, because it's impossible (or rather, it's an AI-complete problem) to have software like that.
- falcrist 8y agoThe coffee maker does indeed come with a booklet that explains what various messages mean, and what actions need to be taken to address these issues. Those steps are maybe two sentences long and generally self evident even without the booklet. People complain about that, because they think things should be handled and explained within the machine itself. I don't complain about coffee machines, but I agree with the principle. If I have to go searching through manuals to figure out what actions I need to take to get something working, that piece of software has failed at user interface design. Sometimes it's ok to fail at UI. I don't expect everything handed to me on a silver platter when I'm writing a bootloader for an 8051, but I do expect my tools to be reasonably user friendly. Vim isn't user friendly, and that understandably drives people away. Hell, even emacs can be a pain to work with.
- _of 8y agonot hard. most of those things can be googled in seconds and copy pasted into .vimrc I would say vim is easier to configure than, for example emacs
- phailhaus 8y agoNon-engineer: "What is .vimrc?" And no, for example solarized takes quite a bit of googling to learn exactly which files to copy from GitHub (red flag: non-engineer has to go to GitHub and download a raw file), and then fiddle with the color settings depending on which terminal you're using.
- mcguire 8y agoEver tried changing the color theme in Eclipse?
- jcranberry 8y agoThe first time, each of those things probably took me like ten seconds. Cloned into folders specified in readmes. Keybindings are even simpler. Obviously there can be snags on the road and things get more difficult the more complicated things you want to do, but learning the basic keybindings and being able to efficiently edit files with vim just isn't that hard.
- darkpuma 8y agoWhy should a non-engineer use Vim? If you're writing prose not code, then using vim is like using a Hilti rotary hammer to hang picture frames.
- phailhaus 8y agoYep! They shouldn't! That's what I'm arguing :)