4 ms·
I can't understand why learning vim/emacs is in any way useful for a programmer. Surly the best text editor is the easiest to use (ie one which makes use of a k
by Fizzadar 14y ago
I can't understand why learning vim/emacs is in any way useful for a programmer. Surly the best text editor is the easiest to use (ie one which makes use of a keyboard + mouse)? Vim is certainly powerful (and unnecessarily complicated), but when it comes to writing out code anything will do (Sublime in my case).
- anthonyb 14y agoVim is good once you get the hang of it, for the same reason that Ctrl-P is so good in Sublime.
- dllthomas 14y agoWhy is Ctrl-P so good in Sublime? (Asking this honestly, as someone who's not used Sublime...)
- anthonyb 14y agoIt's basically a "find any file really quickly" command, with fuzzy matching. Hit ctrl+P, type the filename (or part of the name) and it'll flash up the files that it's matching in real time, as well as display the most likely in the background. The good part is that it'll ignore capitalisation, underscores, etc. and you can start typing something in the middle - "foo" will pick up Foo, foo, test_foo, widgetFoo, foobar and FooBar.
- saraid216 14y agoI learned Vim because I didn't always have a mouse. At some point, I started to dislike using a mouse at all; a roommate in college joked that if he glued my mouse to a mousepad, I wouldn't even notice. (And this is true; a year later, my mouse died and I was able to do virtually everything I felt like without it.)
- dllthomas 14y agoYears back, my lab changed buildings, and I had to break down my computer and reassemble it on the other side. I went over a week of productive work before noticing I hadn't plugged the mouse in. There are some things the mouse is very good at - picking from a visual display, describing relative motion. The mouse is only useful in programming to the degree that these things can be made relevant. I have every expectation that this fits some people better than others, but I do think that people frequently overestimate ease of use with the mouse and underestimate ease of use without.
- dllthomas 14y agoWith gvim, you can use a mouse just fine. Personally, I don't use it because I don't ever find myself wanting to use the mouse; I find searching a more convenient way of jumping to particular places, and scrolling can be done just as well from either the keyboard or mouse. But then, I'm the type of person who uses ratpoison - some people use the mouse more, and good on 'em. I do not know a whole lot about sublime, but from a skim over the first few relevant google results it looks like it's got some power to it. If someone wants to learn that, fine. What I object to is the "just use gedit" in the article. That means no syntax highlighting, and frustratingly little power in the editor.
- tikhonj 14y agoThe reason you want to learn a decent text editor is the same reason you want to learn to touch type decently fast--you don't want to have to think about moving around, or using your mouse, or swapping some words when you're trying to just write code. Also, there is a difference between "easiest to learn" (e.g. uses keyboard + mouse) and "easiest to use" (e.g. keyboard navigation). In the hands of an expert, Emacs and Vim are more efficient than other editors--in a very real sense, they are easier to use, but only after you learn them. Learning how to use an editor well enough to be efficient is an O(1) task. The benefit to using a powerful editor efficiently is O(n) to however much programming you do. Unless you don't plan on doing much programming, learning how to use a good editor is worth it. There are some other reasons as well (e.g. Emacs is extremely consistent, customizable and supports every single thing you can imagine doing in a text editor, and then some). However, I think this is all secondary to just being more efficient and not having to think or switch contexts (e.g. never going from typing to using the mouse to using the arrow keys and back to typing).
- dllthomas 14y agoNot just programming - editing configuration files or html or other large blocks of structured text. Which, granted, is more common in the life of a programmer than the average person, but there are certainly non-programmers who wind up doing a lot of it.
- slurgfest 14y agoThe best text editor is the one which is easiest to do the desired tasks with. That does not mean everyone should be doing the laborious "move hand to mouse, do visual scan, click" loop several times to initiate every action, because that often ISN'T the shortest path from A to B. vim isn't unnecessarily complicated for the people who really need it. If you need to extend and automate and customize to any significant degree, you will need an editor which offers scripting that hooks into most of what it does, which is unavoidably more complicated than notepad. That is apart from matters of taste, which aren't a matter of complication so much as "I want to use multitouch gestures to perform editing tasks" or "I love LISP as a configuration language" or whatever.