I don't disagree with any of the comments about missing things in my wallpaper. There are many more ways to accomplish movement within Vim beyond this image.
Available space, both on the screen as well as in a beginner's brain, was my primary motivator for limiting what I put in the image. When I created it, the vast majority of Vim shortcut wallpapers and cheat-sheets all had an order of magnitude more commands on it that I think often scares off beginners. With that in mind, I tried to limit the commands to those who's primary use was easy to visualize spatially from the "center" of the screen (plus a few really useful extras).
That way, if you know you want to get to something "below" your current cursor position, you can just scan through the 10 commands represented to see which one fits.
Maybe there could be several wallpapers based on experience etc., so as you train and become better, some movements & commands could be taken out and others added.
Looking at this wallpaper, I've just realized that everything on it was already in my muscle memory. Ironically, two weeks ago, I've switched to Emacs. It was the best decision I've ever made: I've got everything Awesome with Emacs, and thanks to vim-mode, I've got my favorite editor :)
Some smart commands that made a huge difference in my day to day usage with vim:
ciw ---------> change the current word (It's different than cw as you can be everywhere in the word while typing the command and it will delete all the word and let you retype it). Also, there's di), da), di], da], ci", ca" which are all similar but extremely useful.
. -----------> Repeat the last command. Useful when you don't feel like writing a macro but still don't want to retype the command again and again. For instance, instead of dwdwdwdw, dw...... (Yes, I know that in an ideal world, you'd just use a smarter d<command> but sometime you start with dw without thinking too much.)
Also, I tend to use "v" (for visual mode) a lot. For instance, for some reason, I use Vd to delete the line. (Select the whole line delete). I like this approach because I like to incrementally change things. I.e. If I want to remove some lines, I don't do 3dd as I'd have to think beforehand "I've got three lines to delete". I usually do: Vjjjd (I.e. select the first line, select the 2 after and delete).
There're so much great gems that I've discovered during the years, maybe a last one..:
= ---> Reindent.. So, as explained in the last paragraph, I'd usually go Vjjjjjj% to select a region and indent it. Note that I've remapped J as 4j instead of join-lines so I can select multiple lines with J.. thus:
VJJ% would indent the actual + 8 next lines.
two weeks ago .. It was the best decision I've ever made
How do you know if it has only been 2 weeks?
I always see these kind of statements "after 15 years of X I switched to Y 3 days ago, and it's great! Y does not have any of the flaws I spent 15 years to discover in X"
Well, to make a long story short, I've tried dozen of editors and my favorite, by far, was vim. But I hate vimscript and the programming interface. Everytime I had to configure/code something was really a pain for me. And I tried Emacs in the past but didn't like it that much.
But then, I got it. And I realized Emacs was really what I wanted.. it's just that I didn't want the "default" Emacs that lots of people use. And, as a matter of fact, I truly enjoy Lisp.
It's a little bit like if you've been with a girl for a couple of months and then you meet someone new. And, in a matter of seconds, you know that this one is smarter, prettier and will make you way happier.
And, I know it's the case with Emacs, even if it's been only a couple of days because I've got everything I liked from Vim.. but, add to that all the extraordinary features of Emacs. So.. what did I like from Vim? The editor, the plugins, the community and how fast it was. I hate VimScript but I love what the Vim community has done with it. I'm just thinking about fuzzy searching in files, the kill ring paste, surrounds, autocomplete, etc. But, guess what, all those things are in my Emacs now.
It's a little bit like if Emacs was a superset of Vim. You can make it identical if you want.. or even more minimal. When I understood that I could delete all Emacs keybinding and just configure it as I wanted, this is when I got it.
Hm. What Vim emulation mode are you using on Emacs? Last time I tried to switch, I found that all of the available vi-modes were clunky and missing a lot of Vim motions I use all the time.
Hey, somehow my reply didn't worked a few days ago; I'll rewrite it then.
I've been using vim-mode which I find quite nice. Of course, nothing is perfect but this is far from being clunky. I like the philosophy behind it of taking the good part of vim but letting the good things of emacs. Also, everything from that mode is customezable. For instance, you can bind new stuff in virtual mode, normal mode, insert mode.. so you really get back in the vim philosophy.
Seriously, without that plugin, I wouldn't have made it to emacs. For some reasons, I was writing "j" and "k"s everywhere and was highly unproductive without it. Now, I really like the feel of it. I've got my vim keybinding but I still feel like using emacs with its philosophy.
I like it! I released the source file in the post so that people could tweak the image to their tastes (either the background if they didn't like the gradient) or the commands if they'd rather see other information.
Except one minor gotcha: `Fx` then `,` will actually find the next x, since `,` reverses the direction of last character search, and `F` was already going backwards. But I can see how those movement commands are hard to fit into this layout :)
Very nice, I'm learning Vim right now and appreciate this.
However, I also find it useful to set my MacVim window to be slightly transparent so that I can see the shortcuts through the window if I need to.
When trying to remember/memorize anything, it's mentally helpful to not have it anywhere in sight when reciting it. I was taught this forever by a drawing class I once took where we were instructed to do draw a nude model with our back to him/her, only turning around once every minute or two. Same idea I think :) For this reason I'll keep this bookmarked but I don't think it would be good as a wallpaper.
There's a transparent png file in the source files that I've got out on bitbucket (https://bitbucket.org/tednaleid/vim-shortcut-wallpaper/src/t..., the white letters don't show up on bitbucket's white background), you can take that file and overlay it on top of another image in pretty much any image editor easily.
You mean, like a first person shooter with HJKL instead of WASD?
Kind of reminds me of the old days when I had a really hard time switching from keyboard-only arrow key controls to WASD and mouse in the game Unreal. Unintuitive as hell, but certainly worth it in the long run ;-)
Most FPS's will let you totally remap the keys however you wish. I think I tried HJKL in Quake once, but my fingers never really got the hang of it in that context (plus, WASD puts you in easy reach of the modifier keys, which are better targets for action keys wrt gaming)
I will -- though not exactly only movement based. The foundation for games is being built here http://www.openvim.com
Before games, I want to add missing features from Vim, currently visual (block) mode.
Available space, both on the screen as well as in a beginner's brain, was my primary motivator for limiting what I put in the image. When I created it, the vast majority of Vim shortcut wallpapers and cheat-sheets all had an order of magnitude more commands on it that I think often scares off beginners. With that in mind, I tried to limit the commands to those who's primary use was easy to visualize spatially from the "center" of the screen (plus a few really useful extras).
That way, if you know you want to get to something "below" your current cursor position, you can just scan through the 10 commands represented to see which one fits.