Recently I did a lecture on the magical world of vim. Despite having used it for quite a long time I realize there is still far more that I could know about it, but there is also more that I haven’t published on this blog. Some of you might remember some of my earlier posts on vim [here], [here]. Today I have a few more shortcut keys to tell you about that I sure hope you’ll appreciate as much as I have grown to. First, some more advanced navigation.
Moving your cursor within vim can be done on per character, per sentence and per parapraph. Also, remember that you can repeat commands (even movement commands) by prepending it with the number of times you would like it done.
To move your cursor within vim per character you can use the arrow keys or the h,j,k,l for left, down, up, right respectively.
To move your cursor within vim per sentence you can use the (, ) keys to move to the previous or next sentence respectively.
To move your cursor within vim per paragraph you can use the {, } keys to move to the previous or next paragraph respectively.
To move your cursor to a specific line within your text you can prefix the line number with : . ie; to jump to line 10 you would use “:10”.
You can also jump to the beginning or end of the file with G or gg.
Next, now that you can jump from one end of your file to the other quickly you might want to open multiple windows within vim for, perhaps, comparison, etc.
You have the ability to split a window either vertically or horizontally within vim very simply. To control, move or split windows you must prefix the command with ctrl-w.
ctrl-w n – create a new window representing a new, empty file
ctrl-w s – split the window horizontally
ctrl-w v – split the window vertically
ctrl-w arrow – move to the window in the direction of the arrow
ctrl-w q – quit the current window (also available is the default :q, :wq)
ctrl-w – / + – increase or decrease the size of the current window. (also available is increasing or decreasing by X value: ctrl-w 5+ – increase window size by 5.)
Adding these commands to the commands that you already know and now you’re getting efficient with vim. The only editor you’ll ever need! …but, like I said, this still isn’t everything. Not by a long-shot, but it’s a really good start!
Pingback: it’s about time» Blog Archive » links for 2007-05-01
Thanks for the overview! Another cool function is tabbing like in Firefox. Use the :tabedit command to open a new tab, and switch tabs with gt. Especially useful when your terminal emulator doesn’t support tabbing or when you need to copy text from one to another file. The tab bar supports the mouse when you’ve enabled it (set mouse=a).
Pingback: Vim Tip of The Week : +[num] or +/{pat} : Ubuntu Tutorials : Breezy - Dapper - Edgy - Feisty
Not sure about :tabedit — cannot seem to get it to work. Version requirements?
vim-full or vim-common might be requirements for that option. I have the full vim set installed on my machine, so I take for granted some of the dependencies I suppose.
VIM rools the world!
Sorry about my english
I have a problem
When I’m editing an ftp file like:
vim ftp://user@localhost/index.html. and I do :Explore for exploring the ftp directory. The server send me an error:
#########
“ftp://nobody@localhost/” –No lines in buffer–
“ftp://nobody@localhost/” –No lines in buffer–
Error detected while processing function netrw#Explore..21_NetBrowse..
md:
line 14:
E121: Undefined variable: w:netrw_method
E15: Invalid expression: w:netrw_method == 2 || w:netrw_method == 5
Press ENTER or type command to continue
#########
Many Thanks