Hacker News new | comments | show | ask | jobs | submit login

I'm a hardcore nerd and I spend many hours with a text editor during the day. Yet I find vim beyond my nerd level. I just can't be bothered with fiddling with config files and installing little bundles and packages for every functionality.

On top of that the whole "language of editing" and combining noun,verb,adjective commands, etc... doesn't really appeal to me because I'm too visual when I'm editing code. I can't stop to think about the right semantics about what I want to do, I just do it visually.




>>I can't stop to think about the right semantics about what I want to do

After the initial learning process, you don't think about the right semantics of what you want to do. Learning vim's normal mode really is very analogous to learning to touch type. In most text editors, when you want to delete a word, you don't really think about hitting backspace a whole bunch of times. Of course, you did think about hitting backspace when you first started. With vim, you don't really think about hitting dw (or cw), you just do it. You did your thinking a while ago, and now it's just how your fingers move.

Of course, there are plenty of valid reasons why vim might not be for you, so please don't take my comment as a "No, you really should learn vim" piece of evangelism.

-----


Yeah, I initially learned vim because I didn't really have a choice (it was expected for the class that we would use vim), and I remember it being very painful in the beginning.

However, just like any other tool you use on a regular basis, those commands become muscle memory very quickly and you don't even think about it.

Now I use vim for work, mostly editing c code. I have a very barebones vimrc and have never installed a little bundle or package. I use it mainly because of its simplicity and terminal integration.

I can't say I'm a very visual person though. I get distracted with too many bells and whistles and often times even just switching windows causes me to get distracted by the interwebz (...i'm a bit add), so I like the simplicity of a blank screen.

Point being, vim isn't for everyone, but using vim doesn't have to be this big giant complicated endeavor that everyone seems to make it out to be.

(Small confession: I also really feel kind of bada$$ when I'm sitting behind a black terminal with green text...)

-----


> I just can't be bothered with fiddling with config files and installing little bundles and packages for every functionality.

This is exactly the reason I decided to make what is probably a lifetime choice to use vim going forward. The vim defaults are ideal for general purpose editing. It's true an IDE or the right modern editor might have things set up with nice defaults for x or y language, but pick five editing tasks at random and you'd be hard-pressed to find a better editor out of the box than vim.

Being able to competently edit any file out of the box on any system affords me a great mental flexibility. It lowers the barrier for learning new languages, or even switching platforms (I like OS X now, but I don't want to be locked in forever when Apple dials up the consumerification to 12). The main disadvantage is that vim really can't compete with IDEs for boilerplate-heavy verbose languages like Java, but I'm not particularly interested in learning languages like that.

Now it's true that I will tweak my config and go and seek out some plugins to enhance my core workflows slowly over time, but that's just the icing on the cake. Mainly I focus on mastering core vim and I do with reasonable confidence that the investment I'm making now will pay dividends 10, 20 and 30 years from now.

> On top of that the whole "language of editing" and combining noun,verb,adjective commands, etc... doesn't really appeal to me because I'm too visual when I'm editing code. I can't stop to think about the right semantics about what I want to do, I just do it visually.

It's one thing if you like a polished GUI and you just can't feel good about vim's lack of polished OS integration and GUI features, but with regards to thinking about semantics, these commands all become muscle memory and you end up doing most of them on a subconscious level that is hard to describe unless you've experienced it. I wouldn't write it off based on the assumption that it wouldn't work for a "visual" person.

-----


I think that a lot of these "Intro to Vim"-type posts do Vim beginners a disservice by recommending a whole bunch of plugins right off the bad. Instead of just learning the Vim basics now the reader needs to also learn how to use all those recommended plugins.

You can get awfully far with just the built-in application and maybe something like CommandT to help navigate projects, especially if using a GUI editor like MacVim to make tab navigation easiest.

-----


As much as I respect Steve Losh, I must admit you are right: this very post put me in a plugin/remapping frenzy when I switched from TextMate. After a few weeks, my Vim was a mess and… it wasn't Vim anymore. Eventually I decided to go back to square one and learn Vim properly but I certainly lost a couple of months chasing fantasies.

-----


I just can't be bothered with fiddling with config files and installing little bundles and packages for every functionality.

While this is obviously a matter of taste, I do like vim's minimalism in that you start off with a simple core with sensible defaults and just add any features you want (I use tcomment, command-t, and fuzzyfinder for switching buffers - that's pretty much it, my .vimrc is less than one page). I found vim much easier to get into than emacs (which I'm currently using for most heavyweight coding sessions) where the defaults are (imho) not as sensible and you have to dig through tons of stuff that comes bundled with it, instead of understanding everything from the beginning and building from there. Of course, it's great to be able to extend emacs with elisp to do any stuff you feel is missing, and I've generally felt it easier to integrate the whole dev experience (minus the browser) into it than with vim - but such usage was of course never in harmony with vim's philosophy in the first place.

On top of that the whole "language of editing" and combining noun,verb,adjective commands, etc... doesn't really appeal to me because I'm too visual when I'm editing code. I can't stop to think about the right semantics about what I want to do, I just do it visually.

Like the rest of vim, these things just become muscle memory - you will completely stop thinking about what command to use after a bit. The reward is getting all those micro-level text editing tasks done with fewer keystrokes, minimizing the time you spend typing and therefore the disconnect with the thought that preceded the typing. I think this dynamic is really great when you get into the zone and want to let stuff flow out with as little neuromuscular obstruction as possible :P

I think the vi/vim editing model is a genuinely important contribution to text editing technique, much more so than vim the program, but of course you can use vim keybindings in lots of other editors and IDEs and still get the core benefits, assuming the most important vim-powers have been implemented.

-----


You don't have to make Vim your primary editor although if there's any chance of having to muck around on other people's servers some basic vi skills would be welcome.

By the sound of it Vim might just not be your thing. I switched to Emacs 15 years ago after many years of advanced vi & Vim usage and never looked back since I never really liked modal editing.

-----




Applications are open for YC Summer 2016

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: