vim/notreallybundles/vimkata/duane.kata @ 196cb78c5356
ack: smartcase by default, please
author |
Steve Losh <steve@stevelosh.com> |
date |
Fri, 11 Jun 2010 16:07:36 -0400 |
parents |
79b5e20cd96a |
children |
(none) |
# Vim Practice
# by Duane Johnson
Use 'j' to move down.
Use 'k' to move up.
Open the following fold: (move to the line and press 'l', or 'za' to toggle)
# Here is the fold {{{1
1. This folds over 4 lines
2. Line 2
3. Line 3
4. Line 4
#}}}
#{{{ Answer:
> :set fdm=manual<Cr>
> Vjzf
#}}}
Create a manual fold:
1. Two-line fold
2. Second line
#{{{ Answer:
> zkzk
#}}}
Navigate to the previous fold, and then to the one before that.
#{{{ Answer:
> mm
#}}}
Mark this line.
#{{{ Answer:
> gg
#}}}
Move to the top of the file, then return to the mark.
#{{{ Answer:
> G
#}}}
Move to the bottom of the file, then return to the mark.
#{{{ Answer:
> H
#}}}
Move the cursor to the top of the window.
#{{{ Answer:
> L
#}}}
Move the cursor to the bottom of the window.
#{{{ Answer:
> M
#}}}
Move the cursor to the middle of the window.
#{{{ Answer:
> C-O
#}}}
Go back to previous jump (i.e. bottom of the window, top of window, bottom of the file, etc.), then go forward to this.
#{{{ Answer:
> qqI--<Esc>lwwi--<Esc>jq@q@@
#}}}
Using a macro recording, prefix the first and third words of each
line with a double dash ("--"):
one two three four
five six seven eight
nine ten eleven twelve
#{{{ Answer:
> "qp
#}}}
Display the contents of the register where you recorded the macro:
#{{{ Answer:
> :s/-/_/g
> "qy
#}}}
Modify the above macro to use underscores instead of dashes, and
then read the macro back into the register.
#{{{ Answer:
> V4j?
#}}}
Using the NERD Comment plugin, toggle comment these lines:
test {
this {
line
}
}
#{{{ Answer:
> gv
#}}}
Restore the Visual Mode selection that you just used above.
#{{{ Answer:
> wds'
#}}}
Using the 'surround' plugin, remove the single quotes.
'surround'
#{{{ Answer:
> wds)
#}}}
Remove parentheses:
(this is a parenthetical statement)
#{{{ Answer:
> C-T
#}}}
Remove tags:
<b>Word</b>
#{{{ Answer:
> f_xves'vEs]
#}}}
Using 'surround', remove the _value and replace with ['value']:
config_value
#{{{ Answer:
> fxvf3s)
#}}}
Add parentheses around the x == 3:
if x == 3 {
}
#{{{ Answer:
> VjS{
#}}}
Surround the above two lines in curly braces.
#{{{ Answer:
> :reg
#}}}
Show the contents of all registers.
#{{{ Answer:
> "ayy
#}}}
Yank the following line into register 'a':
A line for register 'a'.
#{{{ Answer:
> "Ayy
#}}}
Append the following line to register 'a':
Now register 'a' has two lines.
#{{{ Answer:
> "ap
#}}}
Put the two lines in register 'a' below:
#{{{ Answer:
> wwdw
#}}}
Delete the middle word:
Fabulous Text Editing
#{{{ Answer:
> dd
#}}}
Delete this line:
You have a job to do.
#{{{ Answer:
> dd
#}}}
And this one:
Now show how capable you are!
#{{{ Answer:
> "2p
#}}}
Put the 'You have a job to do' line below, using the register for "two deletes ago":
#{{{ Answer:
> "-p
#}}}
Put the word 'Text' below, using the register for "small deletes":
#{{{ Answer:
> f|C
#}}}
Change the text from the | mark to the end of the line:
This is a sent|ence with stuff that needs to change.
#{{{ Answer:
> C-T
#}}}
In Insert Mode, shift the following line right by 2 tab widths:
I feel too left
#{{{ Answer:
> C-D
#}}}
In Insert Mode, shift the following line LEFT by 2 tab widths:
I feel too right
#{{{ Answer:
> word C-O w word
#}}}
In Insert Mode, add a word at the | mark, then use a temporary Normal Mode command to skip a word, then insert another word:
Feel free to |insert a word.
#{{{ Answer:
> C-U
#}}}
In Insert Mode, delete everything before the |:
If you add |words, please clean up after you're done
#{{{ Answer:
> \sbear<Cr>
#}}}
Replace the word 'tiger' with 'bear' in the following three lines:
The tiger lived in the jungle.
There were no other tigers like this tiger.
Tigers are dangerous.
#{{{ Answer:
> :g/\#/d
#}}}
Highlight the following lines and delete those that contain hash symbols:
# Comment
This is text
# Another comment
Some more text
#{{{ Answer:
> :v/\#/d
#}}}
Undo the changes, and remove lines that DO NOT contain hash symbols
#{{{ Answer:
> V4j:g/^/m'<
#}}}
Reverse the following lines:
1. First line
2. Second line
3. Third line
4. Fourth line
#{{{ Answer:
> mm
> (select 4 lines)
> :g//t'm
#}}}
Mark the following line, then select the above 4 lines and copy them to the mark:
Mark this line.
#{{{ Answer:
> :hide e other.txt
#}}}
Edit another file in this window, but don't save the changes you've made to this file.
#{{{ Answer:
> \f
#}}}
Open the NERD Explorer as a vertical split window.
#{{{ Answer:
> s
#}}}
Choose a file in the Explorer and then open it in a new vertical split window.
#{{{ Answer:
> :h
> CTRL-W_H
#}}}
Open a help window, then rearrange as a vertical split.
# vim:foldmethod=marker