Slide 1

Slide 1 text

Hidden features of your Vim plugins janko-m @jankomarohnic

Slide 2

Slide 2 text

vim-commentary

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

gc

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

gcu

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

vim-eunuch

Slide 9

Slide 9 text

• :Remove • deletes the file • deletes the buffer • :Move • moves the file • “moves” the buffer • :Mkdir • creates current’s buffer directory

Slide 10

Slide 10 text

• :SudoEdit
 :SudoWrite • “handy when you forgot to use sudo to invoke Vim”

Slide 11

Slide 11 text

vim-fugitive

Slide 12

Slide 12 text

• “A Git wrapper so awesome it should be illegal” • :Gstatus • opens an interactive `git status`window • :Glog • loads commit messages into quickfix • :Gblame • opens an interactive `git blame` window

Slide 13

Slide 13 text

• :Gmerge • without arguments loads conflicted files into a quickfix

Slide 14

Slide 14 text

vim-unimpaired

Slide 15

Slide 15 text

• Very intuitive mappings for common actions • List traversal • [q – :cnext
 ]q – :cprevious • Quickfix, Buffer, Location, Tag list • [n – next conflict marker
 ]n – previous conflict marker • Option toggling • [ow ]ow – toggle ‘wrap’ • [os ]os – toggle ‘spell’ • [or ]or – toggle ‘relativenumber’

Slide 16

Slide 16 text

• [x – XML (HTML) encode
 ]x – XML (HTML) decode • [u – URL encode
 ]u – URL decode • [y – C String encode
 ]y – C String decode

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

[x

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

[u

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

vim-surround

Slide 25

Slide 25 text

• Surrounds text with delimiters • “text”
 ‘text’
 (text)
 {text}
 [text]
 … • Create/change/delete “surroundings” • works with Vim’s “text objects” • Intuitive mappings • ysiw” = you surround inner word with “ • ds” = delete surrounding “ • csip[{ = change surrounding of inner paragraph from [ to {

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

Shift-S + t

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

vim-projectionist

Slide 32

Slide 32 text

• Connection between files • Alternate (:A) • app/models/user.rb ⟷ spec/models/user_spec.rb • Related (:R) • app/models/user.rb ⟷ db/schema.rb • Assign compilers • :make → rspec|cucumber|bundle

Slide 33

Slide 33 text

:Econtroller home

Slide 34

Slide 34 text

:Emodel user

Slide 35

Slide 35 text

:Eservice register_user

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

:Econtroller home

Slide 38

Slide 38 text

Read documentation It’s usually really awesome in Vim world