vim สั่งได้ดั่งใจ #bcbk4
TRANSCRIPT
Advanced
VimTips / Technique / Shortcuts
Settings / Scripts2013-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
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 Keysin 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 aInsert 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 AINSERT APPEND
Sunday, September 22, 13
--NORMAL--
• Search for pattern
Search
/Previous
NNext
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--
rReplace
Sunday, September 22, 13
&
• Add to the number.
• Subtract from the number.
--NORMAL--
^a ^xAdd Subtract
Sunday, September 22, 13
Completion
Sunday, September 22, 13
• Next match / previous match.
• Keyword Completion.
--INSERT--
&^n ^pNext Previous
Sunday, September 22, 13
• File Name Completion.
--INSERT--
^x ^f ^f ^fComplete File (next) (next)
Sunday, September 22, 13
• Omni Completion (context-sensitive).
--INSERT--
^x ^o ^o ^oComplete Omni (next) (next)
Sunday, September 22, 13
Text Objects
Sunday, September 22, 13
--NORMAL--
c d vChange Delete Visual
Sunday, September 22, 13
iw awi( a(i{ a{i[ a[i< a<i" a"i' a'it at
Sunday, September 22, 13
"icChange Inside "
--NORMAL--
Sunday, September 22, 13
cChange A "
"a
--NORMAL--
Sunday, September 22, 13
In Visual Mode...
Sunday, September 22, 13
--VISUAL--
cChange
• 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
VVisual
(Linewise)
--NORMAL--
Sunday, September 22, 13
--VISUAL·LINE--
<Outdent
>Indent
Sunday, September 22, 13
--VISUAL--
pPaste
• Replaces the selected text.
Sunday, September 22, 13
System Clipboard Register
Sunday, September 22, 13
--NORMAL--
pPaste
• Paste from Default (Internal) Register
Sunday, September 22, 13
--NORMAL--
pPaste
• Paste from System Clipboard
+System
ClipboardSelect
Register
"
Sunday, September 22, 13
More Shortcuts
Sunday, September 22, 13
--INSERT--
^hRemove Character
^wRemove 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
VundleThe 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 functionArpeggio inoremap () ()<Left>
Sunday, September 22, 13
Arpeggio inoremap sd <Backspace>Arpeggio inoremap kl <Backspace>
Arpeggio nnoremap sdf ciwArpeggio 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
scChange Surrounding " into '
" '
Sunday, September 22, 13
sdDelete Surrounding Tag
t
Sunday, September 22, 13
syWrap 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/ASunday, September 22, 13
Thank You!
Sunday, September 22, 13