Slide 1

Slide 1 text

Vim Plugin Deployment othree @ TOSSUG & Vim-Taiwan

Slide 2

Slide 2 text

The five Ws Who Why Where What How

Slide 3

Slide 3 text

Who am I

Slide 4

Slide 4 text

Who • othree • Front-end engineer at HTC • Vim-Taiwan, Moztw

Slide 5

Slide 5 text

Follow me • https://github.com/othree/ • http://blog.othree.net/ • http://twitter.com/othree

Slide 6

Slide 6 text

Plugins I made • html5.vim • fecompressor.vim • scroll3quarter.vim

Slide 7

Slide 7 text

I maintained • eregex.vim by AKUTSU toshiyuki • xml.vim by Rene de Zwart

Slide 8

Slide 8 text

My modified fork • jslint.vim by Jesse Hallett • javascript-syntax.vim by Yi Zhao • scss-syntax.vim by Daniel Hofstetter

Slide 9

Slide 9 text

Why deployment

Slide 10

Slide 10 text

Why not plugin development?

Slide 11

Slide 11 text

Why • You might modify a plugin before you can write one from zero • You might write a simple vim script in your vimrc, but it is able to be a plugin

Slide 12

Slide 12 text

Why • The way people manage vim plugins evolved • pathogen by Tim Pope • Vundle by gmarik

Slide 13

Slide 13 text

My .vim folder

Slide 14

Slide 14 text

Why • My vim script is poor

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

So • Pretend you are going to deploy a plugin

Slide 17

Slide 17 text

So • Pretend you are going to deploy a plugin start building

Slide 18

Slide 18 text

Before Start • What version control system? • Where to store repository? • Dictionary structure?

Slide 19

Slide 19 text

Deploy In Right Way • Easy to maintain • Easy to find • Easy to install

Slide 20

Slide 20 text

Follow Best Practice

Slide 21

Slide 21 text

Where to deploy

Slide 22

Slide 22 text

vim.org

Slide 23

Slide 23 text

github

Slide 24

Slide 24 text

What to deploy

Slide 25

Slide 25 text

to github • The source code put at root dictionary

Slide 26

Slide 26 text

Bad

Slide 27

Slide 27 text

Good

Slide 28

Slide 28 text

to vim.org • vimball a.k.a vba

Slide 29

Slide 29 text

Vim-Makefile • by c9s • https://github.com/c9s/vim-makefile • make vimball

Slide 30

Slide 30 text

How to announce

Slide 31

Slide 31 text

Upload to vim.org

Slide 32

Slide 32 text

Tell friends

Slide 33

Slide 33 text

Mail to Vim-Taiwan

Slide 34

Slide 34 text

Build a Website

Slide 35

Slide 35 text

Questions Before Start • What version control system? git • Where to store repository? github • Dictionary structure? at root

Slide 36

Slide 36 text

Review

Slide 37

Slide 37 text

• Open/Fork project at github • Clone and write your plugin • Use vim-makefile to build vba file • Deploy to vim.org • Mention where is your git repo

Slide 38

Slide 38 text

Questions?