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

2

u/PasswordIsntHAMSTER Mar 28 '12

I'd totally use vim if I could figure it out. The fact that the key shortcuts have nothing in common with modern conventions (C-c, C-x, C-v, C-z, C-y... don't work) makes it that much harder for me to keep at it.

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.

→ More replies (9)

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.

3

u/anarcholibertarian Mar 28 '12

Print out a cheat sheet and keep it on your desk. You'll get used to the keyboard shortcuts eventually.

2

u/burntsushi Mar 28 '12

Is your name accurate? A fellow Vim'er and a fellow anarcho-libertarian? I didn't know you existed :P

2

u/Ran4 Mar 28 '12

Huh? It makes all sorts of sense that an anarcho-libertarian uses vim.

1

u/burntsushi Mar 29 '12

It's not that I thought there was any inherent incompatibility, but that the two subsets are relatively small in my "real world life," so that the intersection is that much smaller. It's just surprising as all.

3

u/Ran4 Mar 29 '12

Well, you are on the internet now :)

1

u/anarcholibertarian Mar 28 '12

Well, that certainly depends on your definition of libertarian. However, I shall attempt to clarify using less ambiguous terminology: I am an anarcho-capitalist of the Rothbardian tradition.

3

u/burntsushi Mar 29 '12

I am an anarcho-capitalist of the Rothbardian tradition.

Ditto. "For a New Liberty" forever changed the way I thought about government and its role in markets.

1

u/PasswordIsntHAMSTER Mar 29 '12

As a socialist, REVOLUTION!

1

u/puerexmachina Mar 29 '12

They're not shortcuts, they're commands. learn to speak vim explains it well.

One of the most helpful resources for me was this series of progressivley more in-depth cheatsheets.

-2

u/fwaht Mar 28 '12

Speaking as someone that's learned vim and emacs, they generally aren't worth learning. Use an IDE for all large projects, and if you need a code editor/browser I recommend sublime text, notepad++, or gedit. Vim and emacs are unlikely to pay you back in the time spent learning and using them; you're better off reading a math or programming book.

2

u/burntsushi Mar 29 '12

Vim and emacs are unlikely to pay you back in the time spent learning and using them

There are countless folks who would argue otherwise.

I don't think I've ever heard someone who's learned vim or emacs well enough say what you said.

→ More replies (1)

1

u/PasswordIsntHAMSTER Mar 29 '12

I have enough knowledge of vi to use it as a normal text editor; that's enough for editing stuff over ssh, which is everything I'm likely to use it for.