KEMBAR78
Vim สั่งได้ดั่งใจ #bcbk4 | PDF
Advanced
Vim
Tips / Technique / Shortcuts
Settings / Scripts
2013-09-22
Thai Pangsakulyanont
@ BarCamp Bangkhen 4
Sunday, September 22, 13
Me
• Thai Pangsakulyanont
• Software and Knowledge Engineering
Undergraduate Student,
Kasetsart University
• @dtinth
• http://dt.in.th/
Sunday, September 22, 13
• http://bit.ly/bcbk4vim
Sunday, September 22, 13
Outline
• A Quick Demonstration
• Built-In Features
• Shortcut, Tips & Trick, Settings
• Vundle
• Plugins
• More Resources
Sunday, September 22, 13
A Quick
Demonstration!
Sunday, September 22, 13
.vimrc Settings
Sunday, September 22, 13
Most Important
Don’t stay in INSERT mode
Sunday, September 22, 13
Disable Arrow Keys
in Insert Mode
• inoremap <Up> <NOP>
• inoremap <Down> <NOP>
• inoremap <Left> <NOP>
• inoremap <Right> <NOP>
Sunday, September 22, 13
&
--NORMAL--
o O
• Begin a new line (below/above) the
cursor and insert text.
Open Below Open Above
Sunday, September 22, 13
&
--NORMAL--
i a
Insert Append
Sunday, September 22, 13
&
• Insert text before the first non-blank
in the line.
• Append text at the end of the line.
--NORMAL--
I A
INSERT APPEND
Sunday, September 22, 13
--NORMAL--
• Search for pattern
Search
/
Previous
N
Next
n
Sunday, September 22, 13
• Repeat last change
--NORMAL--
.
Repeat
Sunday, September 22, 13
--NORMAL-- and --VISUAL--
J
• Join multiple lines into 1 line.
Join
Sunday, September 22, 13
• Replace the character under the cursor
without entering the insert mode.
--NORMAL--
r
Replace
Sunday, September 22, 13
&
• Add to the number.
• Subtract from the number.
--NORMAL--
^a ^x
Add Subtract
Sunday, September 22, 13
Completion
Sunday, September 22, 13
• Next match / previous match.
• Keyword Completion.
--INSERT--
&^n ^p
Next Previous
Sunday, September 22, 13
• File Name Completion.
--INSERT--
^x ^f ^f ^f
Complete File (next) (next)
Sunday, September 22, 13
• Omni Completion (context-sensitive).
--INSERT--
^x ^o ^o ^o
Complete Omni (next) (next)
Sunday, September 22, 13
Text Objects
Sunday, September 22, 13
--NORMAL--
c d v
Change Delete Visual
Sunday, September 22, 13
iw aw
i( a(
i{ a{
i[ a[
i< a<
i" a"
i' a'
it at
Sunday, September 22, 13
"ic
Change Inside "
--NORMAL--
Sunday, September 22, 13
c
Change A "
"a
--NORMAL--
Sunday, September 22, 13
In Visual Mode...
Sunday, September 22, 13
--VISUAL--
c
Change
• Puts the deleted text into
register.
• So you can paste later.
• Ex. Extract to Variable
Sunday, September 22, 13
Visual·Line Mode
Sunday, September 22, 13
V
Visual
(Linewise)
--NORMAL--
Sunday, September 22, 13
--VISUAL·LINE--
<
Outdent
>
Indent
Sunday, September 22, 13
--VISUAL--
p
Paste
• Replaces the selected text.
Sunday, September 22, 13
System Clipboard
Register
Sunday, September 22, 13
--NORMAL--
p
Paste
• Paste from Default (Internal) Register
Sunday, September 22, 13
--NORMAL--
p
Paste
• Paste from System Clipboard
+
System
Clipboard
Select
Register
"
Sunday, September 22, 13
More Shortcuts
Sunday, September 22, 13
--INSERT--
^h
Remove Character
^w
Remove Word
h is the 8th letter of the English alphabet.
ASCII code 8 is for “Backspace”.
Sunday, September 22, 13
Vundle
Sunday, September 22, 13
Vundle
The Plugin Manager for Vim
https://github.com/gmarik/vundle
Sunday, September 22, 13
Vim Plugins
Sunday, September 22, 13
Lokaltog/vim-easymotion
Sunday, September 22, 13
<Leader>
:let mapleader=”<key to use>”
• <Leader> is a key reserved for plugins.
• Default key is Backslash ()
Sunday, September 22, 13
<Leader> <Leader>
f
<Leader> <Leader>
F
--NORMAL--
{char}
{char}
EasyMotion Find Character
Sunday, September 22, 13
kana/vim-arpeggio
Sunday, September 22, 13
Arpeggio inoremap fun function
Arpeggio inoremap () ()<Left>
Sunday, September 22, 13
Arpeggio inoremap sd <Backspace>
Arpeggio inoremap kl <Backspace>
Arpeggio nnoremap sdf ciw
Arpeggio nnoremap jkl ciw
Sunday, September 22, 13
kien/ctrlp.vim
Sunday, September 22, 13
scrooloose/syntastic
Sunday, September 22, 13
justincampbell/vim-eighties
Sunday, September 22, 13
tpope/vim-surround
Sunday, September 22, 13
sc
Change Surrounding " into '
" '
Sunday, September 22, 13
sd
Delete Surrounding Tag
t
Sunday, September 22, 13
sy
Wrap Inside Word
wi
<span class="sharp">
With <div class="x">
Sunday, September 22, 13
dtinth/vim-colors-dtinth256
Sunday, September 22, 13
ervandew/supertab
Sunday, September 22, 13
More Resources
Sunday, September 22, 13
• http://usevim.com/
A Vim Blog (← Recommended!)
• http://vim.wikia.com/
Vim Tips Wiki
• http://www.vim.org/scripts/
Official Script Repository
• http://vim-scripts.org/
Git Mirror of the above
Sunday, September 22, 13
Q/A
Sunday, September 22, 13
Thank You!
Sunday, September 22, 13

Vim สั่งได้ดั่งใจ #bcbk4