14 ms·
Everyone Who Tried to Convince Me to Use Vim Was Wrong
- HNer 16y agolong live nano :P
- bartwe 16y agoOr joe or pico
- davidw 16y agoWith 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.
- stevejohnson 16y agoSounds like you miss the point of the article: that you can make vim at least as incremental as emacs if you take the right approach.
- davidw 16y agoI got that, but I think emacs approach makes more sense, even though it's still by no means an easy system to deal with for a novice.
- andrewf 16y agoArrow keys work fine in VIM, whether you're in insert mode or not. The argument for not using them is that it's less productive to use them than HJKL, because you need to move your hand back and forth between the home row and the arrow keys. I never broke the habit myself, and I suspect the benefit is a lot smaller on a laptop keyboard versus an AT keyboard.
- edanm 16y agoI highly recommend getting used to it. Being able to keep your hands on the home row, even on a laptop, is a huge boon; I can't really claim it's a productivity increase (I have no idea if it is), but it just feels so much better and more fun to type that way. Actually, the same is true of most vim stuff: does being able to delete text 2 seconds quicker really make you more productive? Beats me. But after you get used to being able to tell the computer what you want to happen and have it happen (e.g., delete everything inside these parentheses), using the old method of moving around the cursor just feels bad.
- samfoo 16y agoI've never understood this. I have to take my (other) hand off to hit esc and get out of insert mode anyway. Additionally the fact that vim (as opposed to vi) gets rid of the diagonal movements negates a lot of the benefit for me. I also switch into "nethack" mode when I try to use hjkl and that's never good for productivity.
- edanm 16y agoThere are two tricks to fix the escape problem. First, you can use ctrl+[ to get out of insert, which means moving your hands less. Even better (but requires customization), you can remap "jk" to get out of insert mode. Since "jk" is a combination that never comes up in actual writing, it works great. And it means you don't have to move your hands at all from home row.
- Jach 16y agoTo help the parent and or vim newbies avoid a google, and to show why this "customization" isn't scary or hard, all you need to do: :imap jk <Esc> (Literally type the angle brackets.) And if you want this as a standard default, make a .vimrc file in your home folder and stick the above without the colon in there.
- DennisP 16y ago
- edanm 16y agoFrom my experience, each has its own problem. While learning emacs, you're very likely to hit a few keys by accident and suddenly have a new open buffer you don't understand; it takes some time to learn to hit c-g c-g every time something like that happens (is c-g quit? I'm pretty rusty these days). Vim has other problems (like the insert mode), but even in vim you can do as the author says: always be in insert mode, and pretend it's just a normal editor.
- leif 16y agoC-g is quit. :) The difference is (full disclosure, I pray at the altar of emacs now, after many years of vi), much of vim's functionality is hidden if you stay in insert mode, while in emacs, you always have everything available to you (and in many cases, it'll suggest "next time, use this shortcut").
- lelele 16y agoOTOH, I pray at the altar of Vim while being into the church of Emacs ;-) Modal editing is unbeatable. GNU Emacs + Viper + Vimpulse is the way to go. I agree that Emacs allowing you to access commands while inserting text is nice. However, what are you doing in Insert mode? Hit Esc as soon as possible, my friend ;-)
- davidw 16y ago> However, what are you doing in Insert mode Writing things?
- lelele 16y agoYou wrote "stay in Insert mode", therefore I thought you were making the mistake of staying in Insert mode longer than needed (if I misunderstood what you meant, please ignore my rhetorical question). I didn't become proficient at modal editing until I followed the advice of staying in Insert mode as little as possible, just to enter short bursts of text (and then remapping the Esc key becomes a must).
- phreeza 16y agoCan we please not have ye olde flamewar here? Not flagging or accusing you of that being the intention btw, just saying...
- davidw 16y agoSometimes, what with all the new things these days, I think it's opportune to remind people that emacs (and... ok, I'll admit it) vim are still there and still great tools.
- SwellJoe 16y agoI always say in any text editor flame war (usually one with little kids claiming that they're more productive in their fancy-pants new mousey editor that widgets and icons and zoomy things and little colorful spinny wheels while it thinks about deep texty problems): Editing text is a solved problem. vim or emacs, pick one and get back to work.
- tomjen3 16y agoI used to believe that for a long time, but recently I have been far more productive in an ide than in Emacs. I won't run the same test with vim, because I don't think it will be much different, and the insert/command mode would drive me nuts.
- dan00 16y ago"I used to believe that for a long time, but recently I have been far more productive in an ide than in Emacs." Believe me, then the programming language is the issue, not the editor. It's especially funny, if people claim that their ide is superior, because they can automatically generate boilerplate code, but never question their programming language.
- tomjen3 16y agoIt doesn't seem to matter what language it is - the problem is that I can't remember all the valid function/class/type names and what kind of arguments they take. Autogeneration of code is nice when I write Java code, but even Haskell has a bunch of boiler plate import codes, as does Python and Ruby.
- jimmyrcom 16y agoI stopped reading after "Mac"VIM, the irony go play with ruby and talk about the latest iDrama
- JustAGeek 16y agoThe 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. Good (and as so often, kinda obvious ;) advice.
- phreeza 16y agoI agree. Makes me wonder if the OP would have been chastised for retitling, if he had changed the title to be more reflective of the content.
- wycats 16y agoI thought a bit about how to title this. On the one hand, I'm talking about successfully switching to vim. On the other hand, the thrust of my argument is that I got very bad advice repeatedly over several years on the topic. Apologies if the title wasn't as reflective of the content as I had hoped.
- kashif 16y agoTotally ineffective. May you enjoy your vim days.
- gaiusparx 16y agoAny reason why vim instead of emacs? I use textmate and might give vim/emacs a try again. Quite similar to your old experience.
- nimms 16y agoas a textmate to vim to emacs user, I'd say that vim is to textmate as emacs is to vim. Vim is awesome, but it's still just an editor. Emacs is an operating system that's built around editing text. You start with a powerful editing paradigm and then apply it to pretty much anything you need to do as a programmer...it's about the best editing experience I've ever had. My shell, source control, organiser, messaging, documentation, directory browsing, irc, document viewing etc is all done from within my text editor with all the awesome editing capability that 23 versions brings with it...also you can run vim from within emacs...
- railsuser 16y agoHas this been the cause of the rails 3 release delay? :)
- fragmede 16y agoHe 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.
- Jach 16y agoI didn't get really into vim until I got the mug: http://www.thinkgeek.com/homeoffice/mugs/7bbe/ http://www.thinkgeek.com/homeoffice/mugs/7bbe/ I remember when I first learned HTML (without CSS). It was simple to get the basics down, I memorized a few basic tags and attributes, and over time I learned more and more tags/attributes until I had a respectable catalog memorized that I could use when needed. It's similar with vim, but I find even after years of using it I can still learn new, neat features about (or packages for) it. (P.S., thanks to the article author for the ciX command.)
- city41 16y agoThanks for that, that mug is great and I just ordered it.
- sophacles 16y agoI have found that I can go learn and forget entire ways of using vim for years at a stretch. I've given up on trying to learn all of it, and instead just go into "deep vim mode" every 6 months or so, and (re)learn about a lot of stuff and adjust my vimming for current workflow optimization.
- hartror 16y agoI have a dog eared piece of paper that I referred to for learning emacs.
- leif 16y agoFor those not running Apple software, http://cream.sourceforge.net/ http://cream.sourceforge.net/ is a good beginners' "flavor" of vim. It gives you some familiarisms to work with until you find their more powerful counterparts.
- troels 16y agoWhen 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. 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.
- mahmud 16y agoI was quite the opposite. I got the old sturdy Emacs 19 manual (printed by HP Press) and put that well-bound beast on my desk. I started doing everything with emacs; calendar, IRC, calculations, spreadsheet, notes, debugging, running Perl, running connecting to a remote box, etc. I am one of those rare people that can't use MS Notepad; I routinely get weird dialogs popup in applications because I use emacs key-chords from muscle memory.
- __david__ 16y agoMe too. I also tend to zip to the beginning of the line a lot, out of habit. Trying to save in notepad or a windows editor can do really bad things: C-a C-x C-s. Ouch.
- Hexstream 16y agoUh. You just paste back and save again, no?
- a-priori 16y agoSelect all, paste whatever happens to be in the clipboard, save to disk. That's a disastrous series of commands.
- kwantam 16y agoC-x is cut. C-v is paste. C-a C-x C-s cuts everything to clipboard and saves an empty file. C-v C-s would restore this. So C-a C-x C-s C-v C-s is just a funny way of saying C-s.
- ecaradec 16y agoI 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. 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... Interestingly I've never found something as neat as the "of" command of VS, but I loved all the rest.
- dan00 16y ago"That command was "of" that allowed to open any file of the project with incremental completion." Have a look at http://www.vim.org/scripts/script.php?script_id=1984 http://www.vim.org/scripts/script.php?script_id=1984. I love it!
- ecaradec 16y agoI tried it but I often work with lot of subdirectories and many files and that script abort when it reach 200 files. Increasing the limit beyond that would be slow. I use the Project plugin switch to the buffer, search with incremental completion. At least it's cached so it's faster, that's not to bad, but I find it less integrated than VS.
- dan00 16y ago"At least it's cached so it's faster, that's not to bad, but I find it less integrated than VS." Perhaps you used an older version, because the version I'm using is caching (2.22.3).
- pyre 16y agohttp://www.vim.org/scripts/script.php?script_id=1890 http://www.vim.org/scripts/script.php?script_id=1890
- sliverstorm 16y agoIn reply to the title, I have one thing that should convince certain people to learn vim. 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.
- pmccool 16y ago> There are a very few it is not included in, but these do not have any other editors either. I'm curious: when have you come across an editor-less unix?The vi-less ones I've come across have generally had some bizarre substitute that uses wordstar keystrokes or something equally obscure... You raise a fair point, though: knowledge of vi = knowledge of ed which will work even when vi won't (horrid slow link and/or broken terminal emulation).
- sliverstorm 16y agomost commonly rescue or pre-boot environments. A rescue environment without a text editor is severely hampered, it's true, but sometimes things other than config files need rescuing, and floppies are small.
- gvb 16y agoI've come across ones with only "ed", but the last time I had that was 20-odd years ago. I would counter all unix (like) operating systems have an editor because I've never run across one without "ed" (and "sed").
- Deadsunrise 16y agovi yes, but vim is not always installed.
- maweaver 16y agoTrue, but if you have command line ssh access you could also use Emacs' Tramp Mode to transparently edit the files using your local editor.
- zikzikzik 16y 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." 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. It takes sweat.
- confuzatron 16y agoAnd yet, the guy is now happily using vim. Surely there must be an incremental route between 'using vim wrong' and 'using vim right' that doesn't come with a drop in productivity? If not, what's wrong with the app?
- nimms 16y agoNothing...it's that the app sacrifices new user accessibility for a more powerful editing paradigm. It requires a dedication to productivity from the user that pays off in the long run.
- confuzatron 16y agoI am getting conflicting messages - Yehuda Katz seems to be having a lot of success with the incremental method. I like the phrase 'dedication to productivity' though - sounds dead noble, like how a Samurai might use a text editor.
- edanm 16y agoI've never understood why an editor can't be made that is as powerful as vim, but gets the learning curve right. Then again, I have a sneaking suspicion that it has to do with people liking the exclusivity factor.
- nimms 16y agoI think part of the reason that vim and emacs are so powerful but also so hard to learn is that they were created before we had nice homogenous operating environments with a standard 108 key keyboard and Graphical User Interfaces. They both come from a day when all UI's were text based and so it's not surprising that they offer more powerful editing models than newer alternatives, considering they've both had 30 odd years of refinement. It's also understandable that people find them more difficult to use. The major advantage that a GUI has over a text interface is that it's more discoverable and given that most people these days have grown up around GUI's, we thus find text based UI's intimidating. Either way, as developers, most of our day to day tasks revolve around editing text, so I'd say that using a tool that's aimed at giving us maximum textual love is a good thing.
- njharman 16y agoThis is by far best way I've seen to learn vim http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial... 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. >"Can you tell me a way to switch that will not significantly reduce my productivity for the first few weeks." 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. 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. > I was able to get here because I used my [blah, blah, blah] No, because you stuck it out. Like most worthwhile things Vim is not instant gratification.
- kingtoe 16y agoDefinitely the best. As a student, I had time to learn vim the slow, hard, purist way, and I struggled for weeks simply practicing, drilling, and tutorial-ing. Then I picked up these cheat-sheet tutorials and WOW! Just code as usual, but in vi with the first easy cheat-sheet lying in front of you; almost no productivity hit, and you seamlessly build up the cheat-sheet 'till you know all the commands! The only way to learn vim, I think.
- username3 16y agoI tried learning by using cheat sheets, but they don't stick because I don't go back to them for reference or if I do, I forget because I think I'll have a reference later. Commands stuck when I saw someone else use vim, do something I didn't know about like yyp, and I asked how they did it. I'd like a video of someone using vim for real work and then explaining how they did it.
- telemachos 16y agoVimcasts provides excellent, free little screencasts about Vim. (http://vimcasts.org/episodes/archive http://vimcasts.org/episodes/archive) PeepCode also sells two screencasts about Vim that I think are quite good. (http://peepcode.com/products/smash-into-vim-i http://peepcode.com/products/smash-into-vim-i and http://peepcode.com/products/smash-into-vim-ii http://peepcode.com/products/smash-into-vim-ii) Depending on how long you've been using Vim, you may find them a bit basic (especially the first), but Vim has so many nooks and crannies that you will likely pick up some things anyhow.
- dan00 16y agoI never used it, but perhaps it's a nice way to learn vim: http://cream.sourceforge.net/ http://cream.sourceforge.net/
- deleted 16y ago[deleted]
- setconndevp 16y agoFor my MAC i use MacVIM/ Komodo Edit.
- barfoomoo 16y agoA 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?
- rlpb 16y agoIf I understand your problem correctly, you want to use registers. Say you yank a text visually by using V, the arrow keys, and then y. Instead, use V, the arrow keys, then "ay That stores the yanked text into the "a" register. When you put, instead of just p, use "ap That puts from the "a" register, and you can repeat the action since the register is never overwritten unless you tell it to. You can also use b through to z to store other things. The same registers can also be used to store macros and marks. Usually you use the default register (I think it's ") and this register also gets various stuff saved to it automatically (eg. stuff you delete). (This is how stuff like xp to swap the current and next character works)
- barfoomoo 16y agoThanks for that suggestion. Any idea why Vim behaves like this? Say I visually select something and yank it and then go on pressing p it pastes the yanked text any no of times. But, if I select a text and then try to replace it with the yanked text, I can do it only once. The next time, the yanked text seems to be removed from the register. Why this difference in behavior?
- mileszs 16y agoWhen you select some text and 'put' over it, Vim yanks the selected text into the default register. The text that you just put is still put-able via "2p, if you'd like to put it again. Vim is essentially saving that selected text for you, just in case. I hope that answers your question.
- dhimes 16y ago
- drivebyacct2 16y agoI 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.
- deleted 16y ago[deleted]
- obneq 16y agothe 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! 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...
- DennisP 16y agoIt's the standard position I learned in touch typing class (jkl;). You're right, special characters are a pain. How do you do it?
- obneq 16y agovi keys are on hjkl standard position is jkl;.
- jff 16y agoYou poor sod, you haven't been shifting your entire hand to be over hjkl, have you? Just maintain standard homerow position and hit 'h' the way they taught you in school.
- lelele 16y agoBut you are not meant to put your index on "h". "jk" are the most used keys, therefore your index should rest on "j", like touch typing wants you to do.
- chwolfe 16y agoI highly recommend A Byte Of Vim for anyone wanting to learn the editor: http://www.swaroopch.com/notes/Vim http://www.swaroopch.com/notes/Vim
- crux 16y agoI 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.' 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.
- techiferous 16y agoSpeaking of dvorak, I use dvorak and that's one reason I haven't entertained the idea of switching to vim. If I understand correctly, vim assumes qwerty.
- crux 16y agoYou can easily download alternate keymaps that adapt it to dvorak. Vim assumes qwerty, and thus things like the movement keys are remapped; but it doesn't really matter where the majority of the keys are. Most of vim's key layout is semantic rather than positional.
- parallax7d 16y agoIt sure doesn't help the learning curve though, as you basically can't talk about which keys to use with most (qwerty) users.
- Vitaly 16y agoincorrect. insert mode is still 'i'. and search is still '/'. They are at different places on the keyboard but nothing changes except for the one single thing: hjkl that could be used to move the cursor are not as neatly together now. You can talk to a qwerty vim user w/o any problem. just don't tell him to press the "third key from the left" or smth ;).
- WilliamLP 16y agoFor 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. 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.
- andrewvc 16y agoIt probably depends on your stack. TFA's author is a Rails developer, like myself. I've used Rad Rails, the eclipse based Rails IDE, and I just find myself less productive in it than vim + a handful of terminals. I really tried to like Rad Rails, but I it just felt like overkill, and the interface was too complicated. Besides adding a breakpoint to a rails app is as simple as adding the line 'debugger' to it. No big deal. I've heard that for Java the situation is reversed, but I'm not a Java programmer so I couldn't say if there's anything to that.
- kilowatt 16y agoWith customization, every pain point of yours can be addressed; but maybe that's the problem that makes people "fall back" on IDEs.
- zephyrfalcon 16y ago"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." I know what you mean, but... Vim is first and foremost a text editor, and one could argue that none of this is a text editor's job. (In the spirit of the Unix tradition, do one thing and do it well, etc.) You can customize Vim a great deal, but it isn't really meant to do all of the above. I can see why you would choose to go with an IDE instead.
- milesf 16y agoI 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. One thing is for certain: Vim will never die. It's over 35 years old now, almost as old a Unix and C.
- lelele 16y agoMust read: http://derekslager.com/blog/posts/2006/12/the-case-for-emacs.ashx http://derekslager.com/blog/posts/2006/12/the-case-for-emacs... Jump to the paragraph "The Dark Side".
- kevincolyar 16y agoIf you're a Vim user on a Mac, check out ViKing http://vikingapp.com http://vikingapp.com
- steve19 16y agoYour account was created 12 hours ago and this is the only comment you have posted so I am assuming it is your application. I was excited when I saw you application hoping it added a normal mode to cocoa text fields but alas it does not. I know I going to sound harsh and critical, but I really do want you to succeed ... you have a beautiful website but app does not do very much. The shortcuts are not standard vi(m) shortcuts. Looks to ViEmu for inspiration: http://www.viemu.com http://www.viemu.com I would love to buy something like ViEmu for cocoa and for Microsoft Word for Mac.
- agentultra 16y agoJust go through the included tutorial. That's what got me started years ago. Though I've switched over to emacs now. ;)
- masterponomo 16y agoThey 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.
- lg 16y agofor 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.
- code_duck 16y agoWhy would it NOT reduce your productivity while you are learning it? 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.
- binaryfinery 16y agoNot really. But then I'm using eclipse, intellij, bash, gmail etc. Its like linux, but I can sync my iphone :-)
- code_duck 16y agoI just bought my first Mac after using Linux for 6 years, so I am speaking from recent experience here. Definitely like Linux, definitely awesome... but it does take some getting used to.
- johngunderman 16y agolack of a good package manager is holding it back. sure, there is port, but port's library is tiny compared to its linux counterparts...
- code_duck 16y agoTotally correct, my assumption is that Apple is mad that you can install apps without their approval and fees, so they won't bother adding a real package manager even though it's an obvious shortcoming.
- richcollins 16y agoYour 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. His secret weapon is the ability to quickly and decisively design software. I waste time tweaking and iterating to (hopefully) find a similar solution.
- deleted 16y ago[deleted]
- vollmond 16y agoFor 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.
- binaryfinery 16y agoI 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. These questions are asked honestly and sincerely and I'm genuinely interested in reading responses: 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? 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.
- silentbicycle 16y agoContextual refactoring isn't present in vi because vi was meant to be used in conjunction with the Unix shell, pipes, and so on. It's not a full environment unto itself the way Emacs is. Search, refactoring, and the like would be handled by shell scripts, awk, perl, parsers made with lex & yacc, etc. Unix itself IS an integrated development environment! There are lots of plugins for vim, but I'm not up on what would be specifically relevant because I do major editing in Emacs. (Also, I think when most developers need that kind of tool support to use a language it speaks volumes about it, but that's me.) I like Emacs's extensibility and multi-buffer design, but prefer vi's modal keyboard interface. I like its brevity and orthogonality. Number of commands is less important when each combines cleanly with the others. I would love to see a synthesis of the strong parts of vi and Emacs, though I don't expect it to ever happen - Emacs's giant bundle of elisp has way too much inertia for a full rewrite. How useful are IntelliJ and Resharper for (say) Erlang, by the way? While I haven't used either, those editors look like they're more tightly focused on Java and C#, whereas vi is for editing any kind of text, and Emacs has had at least passible support for every language I've ever used (except Joy). Comparing vi to an editor specifically designed for Java is a bit misleading.
- binaryfinery 16y ago
- kgo 16y agoSome more advice for someone trying to learn vim or emacs... RTFM! ;-) O'Reilly has good intro books on both of them that you can work through in a weekend. 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.
- fretlessjazz 16y agoEveryone who tried to convince me that (vim|emacs) is better than (vim|emacs) was wrong
- anthonyb 16y agoThis should be standard practice when you're switching to any 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.
- bfung 16y agotaken from RMS answers 25 questions from reddit (http://news.ycombinator.com/item?id=1559075 http://news.ycombinator.com/item?id=1559075): 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 ;-). So OP, you're not alone. =P Can we move emacs vs. vi to somewhere not HN, pretty please?