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

58
Advanced Vim Tips / Technique / Shortcuts Settings / Scripts 2013-09-22 Thai Pangsakulyanont @ BarCamp Bangkhen 4 Sunday, September 22, 13

Upload: thai-pangsakulyanont

Post on 20-Jun-2015

1.984 views

Category:

Technology


2 download

TRANSCRIPT

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

Advanced

VimTips / Technique / Shortcuts

Settings / Scripts2013-09-22

Thai Pangsakulyanont@ BarCamp Bangkhen 4

Sunday, September 22, 13

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

Me

• Thai Pangsakulyanont

• Software and Knowledge Engineering Undergraduate Student,Kasetsart University

• @dtinth

• http://dt.in.th/

Sunday, September 22, 13

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

• http://bit.ly/bcbk4vim

Sunday, September 22, 13

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

Outline

• A Quick Demonstration

• Built-In Features

• Shortcut, Tips & Trick, Settings

• Vundle

• Plugins

• More Resources

Sunday, September 22, 13

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

A Quick Demonstration!

Sunday, September 22, 13

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

.vimrc Settings

Sunday, September 22, 13

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

Most Important

Don’t stay in INSERT mode

Sunday, September 22, 13

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

Disable Arrow Keysin Insert Mode

• inoremap <Up> <NOP>

• inoremap <Down> <NOP>

• inoremap <Left> <NOP>

• inoremap <Right> <NOP>

Sunday, September 22, 13

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

&

--NORMAL--

o O

• Begin a new line (below/above) the

cursor and insert text.

Open Below Open Above

Sunday, September 22, 13

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

&

--NORMAL--

i aInsert Append

Sunday, September 22, 13

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

&• 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

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

--NORMAL--

• Search for pattern

Search

/Previous

NNext

n

Sunday, September 22, 13

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

• Repeat last change

--NORMAL--

.Repeat

Sunday, September 22, 13

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

--NORMAL-- and --VISUAL--

J

• Join multiple lines into 1 line.

Join

Sunday, September 22, 13

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

• Replace the character under the cursor

without entering the insert mode.

--NORMAL--

rReplace

Sunday, September 22, 13

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

&

• Add to the number.

• Subtract from the number.

--NORMAL--

^a ^xAdd Subtract

Sunday, September 22, 13

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

Completion

Sunday, September 22, 13

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

• Next match / previous match.

• Keyword Completion.

--INSERT--

&^n ^pNext Previous

Sunday, September 22, 13

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

• File Name Completion.

--INSERT--

^x ^f ^f ^fComplete File (next) (next)

Sunday, September 22, 13

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

• Omni Completion (context-sensitive).

--INSERT--

^x ^o ^o ^oComplete Omni (next) (next)

Sunday, September 22, 13

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

Text Objects

Sunday, September 22, 13

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

--NORMAL--

c d vChange Delete Visual

Sunday, September 22, 13

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

iw awi( a(i{ a{i[ a[i< a<i" a"i' a'it at

Sunday, September 22, 13

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

"icChange Inside "

--NORMAL--

Sunday, September 22, 13

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

cChange A "

"a

--NORMAL--

Sunday, September 22, 13

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

In Visual Mode...

Sunday, September 22, 13

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

--VISUAL--

cChange

• Puts the deleted text into

register.

• So you can paste later.

• Ex. Extract to Variable

Sunday, September 22, 13

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

Visual·Line Mode

Sunday, September 22, 13

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

VVisual

(Linewise)

--NORMAL--

Sunday, September 22, 13

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

--VISUAL·LINE--

<Outdent

>Indent

Sunday, September 22, 13

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

--VISUAL--

pPaste

• Replaces the selected text.

Sunday, September 22, 13

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

System Clipboard Register

Sunday, September 22, 13

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

--NORMAL--

pPaste

• Paste from Default (Internal) Register

Sunday, September 22, 13

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

--NORMAL--

pPaste

• Paste from System Clipboard

+System

ClipboardSelect

Register

"

Sunday, September 22, 13

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

More Shortcuts

Sunday, September 22, 13

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

--INSERT--

^hRemove Character

^wRemove Word

h is the 8th letter of the English alphabet.ASCII code 8 is for “Backspace”.

Sunday, September 22, 13

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

Vundle

Sunday, September 22, 13

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

VundleThe Plugin Manager for Vim

https://github.com/gmarik/vundle

Sunday, September 22, 13

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

Vim Plugins

Sunday, September 22, 13

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

Lokaltog/vim-easymotion

Sunday, September 22, 13

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

<Leader>

:let mapleader=”<key to use>”

• <Leader> is a key reserved for plugins.

• Default key is Backslash (\)

Sunday, September 22, 13

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

<Leader> <Leader> f

<Leader> <Leader> F

--NORMAL--

{char}

{char}

EasyMotion Find Character

Sunday, September 22, 13

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

kana/vim-arpeggio

Sunday, September 22, 13

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

Arpeggio inoremap fun functionArpeggio inoremap () ()<Left>

Sunday, September 22, 13

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

Arpeggio inoremap sd <Backspace>Arpeggio inoremap kl <Backspace>

Arpeggio nnoremap sdf ciwArpeggio nnoremap jkl ciw

Sunday, September 22, 13

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

kien/ctrlp.vim

Sunday, September 22, 13

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

scrooloose/syntastic

Sunday, September 22, 13

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

justincampbell/vim-eighties

Sunday, September 22, 13

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

tpope/vim-surround

Sunday, September 22, 13

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

scChange Surrounding " into '

" '

Sunday, September 22, 13

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

sdDelete Surrounding Tag

t

Sunday, September 22, 13

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

syWrap Inside Word

wi

<span class="sharp">

With <div class="x">

Sunday, September 22, 13

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

dtinth/vim-colors-dtinth256

Sunday, September 22, 13

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

ervandew/supertab

Sunday, September 22, 13

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

More Resources

Sunday, September 22, 13

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

• 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

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

Q/ASunday, September 22, 13

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

Thank You!

Sunday, September 22, 13