TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Everyone Who Tried to Convince Me to Use Vim Was Wrong

309 pointsby mattybalmost 15 years ago

32 comments

njharmanalmost 15 years ago
This is by far best way I've seen to learn vim <a href="http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html" rel="nofollow">http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial...</a><p>I recommend people making it their desktop background. Being "in your face" helps you remember to learn and explore things like 'ca)' rather than just hitting delete and arrow keys a bunch.<p>&#62;"Can you tell me a way to switch that will not significantly reduce my productivity for the first few weeks."<p>Two obvious answers that came to me while reading that sentence: 1) Use it at home/off hours/for side projects/etc until you are proficient enough to do work with it. 2) Use it for 1 task a day, then 2 tasks, etc.<p>The "Turn everything off" is stupid way to start. [Altough it's one way to reach next level after you are basically proficient] Clue to OA, find better people to get advice from.<p>&#62; I was able to get here because I used my [blah, blah, blah]<p>No, because you stuck it out. Like most worthwhile things Vim is not instant gratification.
评论 #1558014 未加载
评论 #1557142 未加载
评论 #1559227 未加载
评论 #1557429 未加载
评论 #1557493 未加载
cruxalmost 15 years ago
I think the key distinction that Katz is failing to make is this: switching to Vim is not a matter of 'You’re learning a new EDITOR for God’s sakes. Of COURSE there’s going to be a learning curve.'<p>As pointed out, Textmate is a new editor and you don't come to a standstill when you use it for the first time. But Vim is a fundamentally different KIND of editor than Textmate. It's not that it's a different program. It's that it's probably the first modal editor you've ever used. As far as I'm concerned, the whole bulk of the first and hardest step in learning Vim is just wrapping your head around editing modally. Whether you want to disable your arrow keys and obsessively leave Insert mode, in order to cultivate good habits, or you just want to muddle through and implement Vimisms where you can is wholly up to the reader. It's analogous to whether you want to cover your keycaps and use dvorak all the time even when you can't touch type, or just ease into it. But the hump, the bit that's a qualitatively different experience, is the modality of the application.
评论 #1557574 未加载
评论 #1558981 未加载
zikzikzikalmost 15 years ago
"The last few times someone tried to get me to switch to vim, I issued them a simple challenge. Can you tell me a way to switch that will not significantly reduce my productivity for the first few weeks."<p>The problem with this argument is that it clearly shows why so many people get stuck in local maximums, even though there are much higher peaks around, one just has to walk downhill first and then uphill again.<p>It takes sweat.
评论 #1557282 未加载
评论 #1557047 未加载
WilliamLPalmost 15 years ago
For me, having tried to use Vim in the past, the pain point is never the editing itself. It's the fact that I need visual step-through debugging, adding breakpoints and watch points, and intuitive navigation through a large file hierarchy including lots of imported files, HTML templates, config files, performing ad hoc database investigation queries, uploading files to a server, and whatever else, along with ability to jump to classes and function definitions and intelligent auto-complete and popping up parameters and catching my variable name typos and so forth.<p>There's a fundamental disconnect between me and the programmers who say "the only real choices are Vim and Emacs", and I'm fully willing to consider that I'm doing it all wrong, but I wonder if there's anything out there that could convince me that living on the home row in a modal editor can work me through the entire job of being a programmer and maintainer, as opposed to editing and entering text in a single or very few files.
评论 #1557657 未加载
评论 #1557711 未加载
评论 #1557569 未加载
评论 #1557637 未加载
评论 #1558912 未加载
评论 #1559429 未加载
评论 #1558199 未加载
评论 #1559577 未加载
JustAGeekalmost 15 years ago
The title of this blog is quite unfortunate imho, it really is an article describing how NOT to switch to VIM and how the author eventually managed to come up with a good way of switching.<p>Good (and as so often, kinda obvious ;) advice.
评论 #1557079 未加载
评论 #1556916 未加载
评论 #1556906 未加载
评论 #1557007 未加载
sliverstormalmost 15 years ago
In reply to the <i>title</i>, I have one thing that should convince certain people to learn vim.<p>Besides cat, pipes and grep, vim is the only useful editor (i.e. works in the command line over ssh) you can count on always being on every *nix machine. There are a very few it is not included in, but these do not have any other editors either.
评论 #1557834 未加载
评论 #1557102 未加载
评论 #1557025 未加载
评论 #1557955 未加载
评论 #1561969 未加载
troelsalmost 15 years ago
When I began using emacs, I started out by modding it heavily, so that it didn't act all that emacs-y. Besides being a fun exercise in emacs-lisp, it smoothed the transition quite a bit.<p>I would certainly suggest anyone switching to vim or emacs that they mod the heck out of them, just to make it bearable. You can always peel the mods off once you get more comfortable with the tool. After all, what makes these editors so awesome in the first place, is exactly that you can mod them.
评论 #1557296 未加载
评论 #1557113 未加载
railsuseralmost 15 years ago
Has this been the cause of the rails 3 release delay? :)
richcollinsalmost 15 years ago
Your editor is one of the least important differentiators in productivity. The best developer that I know, who is probably 10x faster than me, uses TextEdit and the mouse.<p>His secret weapon is the ability to quickly and decisively design software. I waste time tweaking and iterating to (hopefully) find a similar solution.
davidwalmost 15 years ago
With emacs, you'd still likely be a bit less productive initially, but at least it doesn't have that weird "insert mode" stuff, so you can use the arrow keys, backspace, and so on.
评论 #1556903 未加载
评论 #1556910 未加载
评论 #1556899 未加载
评论 #1556914 未加载
obneqalmost 15 years ago
the only fun way to learn vim is to ascend a character in nethack. once you played for a while you'll know your way around vi!<p>but vi keys force you to have your right hand in the wrong position. sure its more convenient than bpnf (emacs style memnonics) but i dont like it for typing, especially when using a lot of special characters, that is, coding...
评论 #1557443 未加载
milesfalmost 15 years ago
I think the biggest motivator to learn Vim is to watch people who know how to use it. It's a painful editor to learn, and coming up with the right approach to learn it is not the same for everyone. I equate it to the pain I felt switching from Qwerty to Dvorak, which took me well over a year before I was back up to 50-60 WPM. Now that I'm here, it was worth the switch, but I sympathize with others trying to make the jump. I see the same sort of pain learning Vim.<p>One thing is for certain: Vim will never die. It's over 35 years old now, almost as old a Unix and C.
评论 #1559100 未加载
fragmedealmost 15 years ago
He didn't mention my favorite method for learning vim: print out a cheat sheet (A PDF is not good enough) and keep it next to your computer.
评论 #1556995 未加载
评论 #1557055 未加载
kgoalmost 15 years ago
Some more advice for someone trying to learn vim or emacs...<p>RTFM! ;-)<p>O'Reilly has good intro books on both of them that you can work through in a weekend.<p>Yes, I know it seems silly to have to read a book to use a text editor, but working through the book and doing the exercises the same way you would for a programming language or API makes the learning curve much, much easier.
leifalmost 15 years ago
For those not running Apple software, <a href="http://cream.sourceforge.net/" rel="nofollow">http://cream.sourceforge.net/</a> is a good beginners' "flavor" of vim. It gives you some familiarisms to work with until you find their more powerful counterparts.
ecaradecalmost 15 years ago
I switched to vim, because I wanted a command from visual studio. That command was "of" that allowed to open any file of the project with incremental completion. I know that many consider VS to be a crappy editor, but if you know many shortcuts, command console and macros it's actually nice.<p>But it's an IDE and I needed something for javascript files and html files that was in the range. So I switched for this only reason. I switched the exact same way you did, using the mouse at first, I spent time in the help for every issue I had, I learned motions, macros, etc...<p>Interestingly I've never found something as neat as the "of" command of VS, but I loved all the rest.
评论 #1557046 未加载
code_duckalmost 15 years ago
Why would it NOT reduce your productivity while you are learning it?<p>I bet you he'd be happy to say 'OH YEAH SWITCH TO A MAC', but guess what - it will reduce your productivity while you're getting used to new programs, new keyboard shortcuts, etc.
评论 #1559995 未加载
masterponomoalmost 15 years ago
They were right about what worked for them, but wrong to think it would work for you. While I wasn't there and can't refute your claim of their disdain for anything but full immersion in CLI vi with no GUI aids or non-standard helper keys, it is true that if you want to be able to do basic functions on any version of vi on any system (including one with no graphical environment) then you are better off knowing the keyboard commands. That said, it sounds like you found a way into it that suits your needs...good.
chwolfealmost 15 years ago
I highly recommend A Byte Of Vim for anyone wanting to learn the editor: <a href="http://www.swaroopch.com/notes/Vim" rel="nofollow">http://www.swaroopch.com/notes/Vim</a>
anthonybalmost 15 years ago
This should be standard practice when you're switching to <i>any</i> new thing (editor, codebase, application, etc.) and is the reason why we have things like continuous integration and Joel Spolsky ranting about starting over from scratch. Going completely cold turkey on the old and diving straight into the new is a really tough way to go.
barfoomooalmost 15 years ago
A question for the Vim experts. How do I do the below in Vim? I yank a text and then visually select another text and copy the yanked text over the selected text. Once I do this, if I try to visually select another text and copy the previously yanked text over it, it does not work. How does one do this with Vim?
评论 #1557281 未加载
评论 #1557487 未加载
vollmondalmost 15 years ago
For any other Eclipse users in here (I see it mentioned once or twice in the comments), check out viPlugin. Works in vanilla Eclipse as well as Flex Builder, and presumably any other Eclipse-based IDE. Not sure how I would live without it at this point.
dan00almost 15 years ago
I never used it, but perhaps it's a nice way to learn vim: <a href="http://cream.sourceforge.net/" rel="nofollow">http://cream.sourceforge.net/</a>
lgalmost 15 years ago
for similar reasons it's nicer to start with a bells-and-whistles emacs variant like aquamacs, and ease your way into (menu-bar-mode -1) etc.
kevincolyaralmost 15 years ago
If you're a Vim user on a Mac, check out ViKing <a href="http://vikingapp.com" rel="nofollow">http://vikingapp.com</a>
评论 #1560221 未加载
agentultraalmost 15 years ago
Just go through the included tutorial. That's what got me started years ago.<p>Though I've switched over to emacs now. ;)
bfungalmost 15 years ago
taken from RMS answers 25 questions from reddit (<a href="http://news.ycombinator.com/item?id=1559075" rel="nofollow">http://news.ycombinator.com/item?id=1559075</a>):<p><pre><code> 25. meeiw: What is vim doing better than emacs? ----------------------------------------------------------------------- RMS: Sorry, I have never tried using vim. I never felt I deserved such a large penitence ;-). </code></pre> So OP, you're not alone. =P<p>Can we move emacs vs. vi to somewhere not HN, pretty please?
setconndevpalmost 15 years ago
For my MAC i use MacVIM/ Komodo Edit.
binaryfineryalmost 15 years ago
I know people who use vim, and are hardcore. Yet anything my hardcore friends can do on vim, I can do in IntelliJ or Resharper. However there are things I use regularly in these tools that vim cannot do.<p>These questions are asked honestly and sincerely and I'm genuinely interested in reading responses:<p>At the end of the day, what is the big deal about a modal editor? How does not-having-to-press-ctrl (or alt, meta, cmd, whatever) for the first key give a programmer any advantage? Is it just the number of these commands that are available - and if so, has someone done a count of commands available in products like IntelliJ and Slick-Edit vs vim? What about the stuff that seems to be missing, like contextual refactoring - or are there plugins / scripts for that?<p>Without any such evidence, it does seem to me that programmers want to use vim because of a reputation that hardcore hackers use it, not because it actually improves productivity.
评论 #1559304 未加载
评论 #1559344 未加载
drivebyacct2almost 15 years ago
I don't understand. It's not hard at all to learn the basics - navigation, visual mode copy/paste, enabling line numbers, turning on a color scheme in 15 minutes. If that.
HNeralmost 15 years ago
long live nano :P
评论 #1556977 未加载
fretlessjazzalmost 15 years ago
Everyone who tried to convince me that (vim|emacs) is better than (vim|emacs) was wrong