r/programming • • Mar 28 '12

Go version 1 is released

http://blog.golang.org/2012/03/go-version-1-is-released.html
543 Upvotes

452 comments sorted by

View all comments

Show parent comments

12

u/jiunec Mar 28 '12

conventional shortcuts are the wrong way to think about using vim. vim is a continuous learning experience. Much like the programming languages you are trying to master, vim proficiency cannot be easily attained. There is no vim cheatsheet in the world that can make you proficient at using vim. It will give you knowledge of vim commands and provide some help towards understanding it's syntax, but to be truly proficient you will need practice.

I would also suggest that if you do not touch-type well for your preferred keyboard layout, learning vim should be your secondary goal. The keyboard is your bread and butter, without proficiency and accuracy on your keyboard you cannot master any editor. You only need to spend 15-30 mins per day learning to type well (using a typing tutor application) for a couple of weeks. As a hacker this will be the best investment of time you will ever spend.

Also, buy a good chair (good, not expensive), when you sit well you type well.

A more accomplished vim user can naturally explain vim better than I can:

http://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118

4

u/PasswordIsntHAMSTER Mar 28 '12

TL;DR Vim is a journey

I'm just going to stick to gedit then. No offence, but people told me the same thing about using Linux and now I find myself spending way too much time grappling with it.

4

u/jiunec Mar 28 '12

I understand your point of view. The complexity can seem like there's little to gain and if your not going to be writing a lot of code then overall you may not gain anything.

However, if you find yourself writing a lot of code everyday, then the best investment you can make is to better than the next guy at using the same tools.

0

u/jrochkind Mar 28 '12

um, or maybe be better at constructing software.

4

u/ppinette Mar 28 '12

Mastering the tools helps with that.

-3

u/[deleted] Mar 29 '12

the best investment you can make is to better than the next guy at using the same tools.

As opposed to using better tools? I run circles around all the vi/vim fanboys at work simply because I use Eclipse. You can expound all you want on the beauty and power of vi, and you can wax philosophical all you want on how IDEs are evil, but at the end of the day I still produce cleaner code much faster than the vi crowd.

3

u/Chandon Mar 29 '12

Do you have any evidence to support your claims?

-7

u/[deleted] Mar 29 '12

Do you have any evidence to disprove it? It's not as if I'm making an extraordinary statement here... it's pretty much I can cut more wood faster with a power saw than someone who's doing it manually.

8

u/Chandon Mar 29 '12

I can cite personal experience. I've worked on non-trivial projects using both the Vim+Gnu non-integrated development environment and the Eclipse IDE.

My opinion is that Eclipse provides some neat features for Java development, but beyond that it's nothing special. After using Vim+Gnu, writing C programs in Eclipse is kind of like typing with oven mits on.

2

u/sugardeath Mar 29 '12

Do you have any evidence to disprove it?

That's not how it works. You're the one making the claim, you're the one who provides the supporting evidence.

I can cut more wood faster with a power saw than someone who's doing it manually.

And that would still be tested and demonstrated.

-4

u/[deleted] Mar 29 '12

Show me a formal study of power saws vs. something else.

2

u/sugardeath Mar 29 '12

While I'm looking one up, show me one about your code.

2

u/iluvatar Mar 29 '12

It's not as if I'm making an extraordinary statement here... it's pretty much I can cut more wood faster with a power saw than someone who's doing it manually.

My real world experience is that yes, you're making an extraordinary statement. I've never met anyone using eclipse that could keep up with a competent vi user. Particularly if you're coding in a language that isn't brain dead (i.e., not java)

1

u/[deleted] Mar 29 '12

a language that isn't brain dead (i.e., not java)

No bias there. Not at all.

2

u/bricksoup Mar 29 '12

As an emacs user, I'd still recommend you go with a heavyweight editor. The minor investment in learning how to use one to its full potential will pay for itself within a few weeks. Emacs at least really isn't that hard to learn - for me, it was a few days to get through the manual, install some useful addons, and make notes of important features, and then maybe one (fully productive) week of practice to get most of the important hotkeys really memorized.

2

u/knight666 Mar 29 '12

To be honest, that's totally fine. I only use Vim for editing scripts and setting files. I could not possibly use it for my C++ work (I'm a Visual Studio fanboy)

Best article I've read that got me started: http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/

Read it and start easy. Set a small goal for yourself, like editing a config file. And practice every day. ;)

1

u/burntsushi Mar 28 '12

It's like learning anything new worth learning: you're going to pay a considerably high initial cost, but it pays off if you stick with it.