Grown up from Vim user to Vim plugin developer side IK : 2019-11-3 - - PowerPoint PPT Presentation

grown up from vim user to vim plugin developer side
SMART_READER_LITE
LIVE PREVIEW

Grown up from Vim user to Vim plugin developer side IK : 2019-11-3 - - PowerPoint PPT Presentation

Grown up from Vim user to Vim plugin developer side IK : 2019-11-3 : VimConf2019 Designed by @taken_0114 and @get_me_power Outline 1. Start using Vim 3. Attend VimConf2018 5. First send Pull Request Nov.2017 Nov.2018 May.2019 2. Start


slide-1
SLIDE 1

Grown up from Vim user to Vim plugin developer side

IK : 2019-11-3 : VimConf2019 Designed by @taken_0114 and @get_me_power

slide-2
SLIDE 2

Outline

slide-3
SLIDE 3
  • 1. Start using Vim

Nov.2017

  • 2. Start using Vim plugin

May.2018

  • 3. Attend VimConf2018

Nov.2018

  • 4. Study Vim script

April.2019

  • 5. First send Pull Request

May.2019

  • 6. Join vim-jp

Jun.2019

slide-4
SLIDE 4
  • 1. Start using Vim

Nov.2017

  • 2. Start using Vim plugin

May.2018

  • 3. Attend VimConf2018

Nov.2018

  • 4. Study Vim script

April.2019

  • 5. First send Pull Request

May.2019

  • 6. Join vim-jp

Jun.2019

slide-5
SLIDE 5

Name: Kazuma Inagaki Job: undergraduate

College of Information science and Engineering

Language: Ruby, Python, and Ruby on Rails

:help :help IK.txt IK.txt

slide-6
SLIDE 6

:help :help IK.txt IK.txt

Name: Kazuma Inagaki Job: undergraduate

College of Information science and Engineering

Language: Ruby, Python, and Ruby on Rails

I have been writing only Vim script recently

slide-7
SLIDE 7

Boy meets Vim

  • Start studying programming
  • C language
  • Choose Visual Studio Code first
slide-8
SLIDE 8

B u t

slide-9
SLIDE 9

A mentor in that school tempted me to start Vim

slide-10
SLIDE 10

Start using Vim

slide-11
SLIDE 11

It was difficult for me to use Vim

slide-12
SLIDE 12

Difficult points

Mo Mode ke key bi

bind

in install Pl

Plug ugin

ch choosing Plugin

slide-13
SLIDE 13
  • 1. Start using Vim

Nov.2017

  • 2. Start using Vim plugin

May.2018

  • 3. Attend VimConf2018

Nov.2018

  • 4. Study Vim script

April.2019

  • 5. First send Pull Request

May.2019

  • 6. Join vim-jp

Jun.2019

slide-14
SLIDE 14

Starting Install Vim Plugins

  • A boy gets to know about Vim plugins and meets dein.vim
  • Start installing many plugins
  • Get plugin power
slide-15
SLIDE 15

Installed 39 plugins for (Neo)vim !

dein.vim defx.nvim denite.nvim deoplete.nvim async.vim calender.vim gina.vim lexima.vim neoinclude.vim

  • pen-browser.vim
  • pen-browser-github.vim

vital.vim defx-icons deoplete-clangx deoplete-vim-lsp deoplete-tabnine deoplete-jedi vim-airline vim-airline-theme vim-devicons vimdoc-ja vim-endwise vim-fugitive vim-lsp vim-gotham vim-markdown vim-quickrun vim-surround vim-speeddating vim-starwars vim-sl emmet-vim webapi-vim neco-syntax neco-vim ale autofmt gruvbox previm

slide-16
SLIDE 16

I became a dark side Vimmer

slide-17
SLIDE 17

What is a dark side Vimmer??

slide-18
SLIDE 18

What is a dark side Vimmer?

  • Use a lot of Vim Plugin
  • Use a Dark force created by Shougo a.k.a Dark Vim master
  • dein.vim
  • defx.nvim
  • denite.nvim
  • deoplete.nvim and more..
  • Use a CLI command on Vim
  • twitvim
  • gina.vim
  • webapi-vim and more..
slide-19
SLIDE 19
  • 1. Start using Vim

Nov.2017

  • 2. Start using Vim plugin

May.2018

  • 3. Attend VimConf2018

Nov.2018

  • 4. Study Vim script

April.2019

  • 5. First send Pull Request

May.2019

  • 6. Join vim-jp

Jun.2019

slide-20
SLIDE 20

I attended at VimConf2018

  • Invited by guyon to participate in VimConf2018
  • Listen to announcements from various Vimmers
  • High extensibility of Vim
slide-21
SLIDE 21

Interesting topics

  • Web server was running just by pure Vim scirpt
  • Description of core features such as termdebug
  • Explanation of Vim standard features
  • How to make a Vim plugin
slide-22
SLIDE 22

I was inspired by Plugin production

  • Felt the high extensibility of Vim
  • Want to write Vim script
  • Want to try Vim art like twitvim,gina.vim and more
  • Feel it was cool to rely on Vim
slide-23
SLIDE 23
  • 1. Start using Vim

Nov.2017

  • 2. Start using Vim plugin

May.2018

  • 3. Attend VimConf2018

Nov.2018

  • 4. Study Vim script

April.2019

  • 5. First send Pull Request

May.2019

  • 6. Join vim-jp

Jun.2019

slide-24
SLIDE 24

What I did to make the Plugin

  • I read the Vim script technique Bible
  • I read the Vim document
  • Asked questions on vim-jp slack
slide-25
SLIDE 25
slide-26
SLIDE 26

What was difficult in creating a plugin

  • Autoload module division
  • Vim script regular expressions
  • A few articles about Vim script
slide-27
SLIDE 27

Actually created plugin

Weather.vim

  • This is a Vim plugin to know the weather with Vim.

Tweet.vim

  • This is a Vim Plugin for enjoying Twitter from Vim.
slide-28
SLIDE 28
  • 1. Start using Vim

Nov.2017

  • 2. Start using Vim plugin

May.2018

  • 3. Attend VimConf2018

Nov.2018

  • 4. Study Vim script

April.2019

  • 5. First send Pull Request

May.2019

  • 6. Join vim-jp

Jun.2019

slide-29
SLIDE 29

Opportunity to contribute to OSS

slide-30
SLIDE 30

denite.nvim ver3.0 was pre-release

slide-31
SLIDE 31
slide-32
SLIDE 32

I found out that there was a problem with

vim-airline

slide-33
SLIDE 33

What is vim-airline?

slide-34
SLIDE 34
slide-35
SLIDE 35

I reported an issue and wanted to fix it

slide-36
SLIDE 36
slide-37
SLIDE 37

Issue was closed...

slide-38
SLIDE 38

If someone doesn't fix it the bug won't be fixed

slide-39
SLIDE 39

Who will fix this problem?

slide-40
SLIDE 40

Who will fix this problem?

Can I fix it?

slide-41
SLIDE 41

Code correction

slide-42
SLIDE 42
slide-43
SLIDE 43

Receive a correction request from the maintainer

slide-44
SLIDE 44
slide-45
SLIDE 45

Merge!!

slide-46
SLIDE 46

The hard point with the first OSS contribution

  • Complex directory structure
  • A lot of files and directories
  • At first I didn't know the target edit
  • Understanding the scope
slide-47
SLIDE 47

What I gained from my first OSS contribution

  • Backward compatibility
  • Git in collective development
  • Knowledge of Vim script
  • OSS has been established because someone has contributed
slide-48
SLIDE 48

What made me happy during my first OSS contributions

  • Great software engineers reviewed my code.
  • Many people are using plugins which include my code.
  • Now I have developers view points that I didn’

t have back then.

slide-49
SLIDE 49

What made me happy during my first OSS contributions

  • Great software engineers reviewed my code.
  • Many people are using plugins which include my code.
  • Now I have developers view points that I didn’

t have back then.

slide-50
SLIDE 50

Plugin user Plugin developer

slide-51
SLIDE 51

Vim Plugin seen from User

  • Install useful plugins
  • If you find a bug in a plugin?
  • Put up with bugs and keep using them
  • Stop using plugin
slide-52
SLIDE 52

Vim Plugin seen from Developer

  • If a problem occurs, think about the cause
  • Report cause or Fix the problem
  • Consider adding new features
  • Consider backward compatibility
slide-53
SLIDE 53

Examples of contributions...

  • Fix code
  • Add new feature
  • Fix typo and translate a document
  • Bug report...
slide-54
SLIDE 54

Later contributed to various Vim plugins

vim vim-airline airline defx defx-icons icons vim vim-go go vim vim-orgmode

  • rgmode

vim vim-devicons devicons deoplete deoplete-tabnine tabnine webapi webapi-vim vim vimdoc vimdoc-ja ja-working working vim vim-starwars starwars deoplete deoplete-vim vim-lsp lsp vim vim-sl sl Vim Vim-flutter flutter sarahck.vim sarahck.vim vim vim-ghcid ghcid-quickfix quickfix memolist.vim memolist.vim

slide-55
SLIDE 55
  • 1. Start using Vim

Nov.2017

  • 2. Start using Vim plugin

May.2018

  • 3. Attend VimConf2018

Nov.2018

  • 4. Study Vim script

April.2019

  • 5. First send Pull Request

May.2019

  • 6. Join vim-jp

Jun.2019

slide-56
SLIDE 56

Become a member of vim-jp

  • Participated in vim-jp in the summer of 2019
  • I support the community with translation activities
slide-57
SLIDE 57

I recommend sending a Pull Request here

slide-58
SLIDE 58

I recommend sending a Pull Request here

vimdoc-ja-working

  • translation

defx-icons

  • Add file icon
slide-59
SLIDE 59

vimdoc-ja-working

slide-60
SLIDE 60
slide-61
SLIDE 61

defx-icons

slide-62
SLIDE 62
slide-63
SLIDE 63
slide-64
SLIDE 64

A patch that displays a gear icon in a toml file

slide-65
SLIDE 65

URL

  • vimdoc-ja-working
  • https:/

/github.com/vim-jp/vimdoc-ja-working

  • defx-icons
  • https:/

/github.com/kristijanhusak/defx-icons

slide-66
SLIDE 66

What I want to tell

  • Contributing to OSS is not scary
  • OSS is made up of someone doing maintenance
  • If no one develops, development stops
  • There is a way to support Developer side from User side
slide-67
SLIDE 67

All you need is the courage to take a step.

slide-68
SLIDE 68

The next OSS contributer is …

slide-69
SLIDE 69

The next OSS contributer is …

You !!!