SlideShare a Scribd company logo
Introduction to Vim 8.0
VimConf 2016
2016-11-05 Ken Takata
VimConf 2016 2
Who am I?
● Name: K.Takata
● Twitter: @k_takata
● GitHub: k-takata
● Web: http://k-takata.o.oo7.jp/
● Maintainer of Onigmo. (The regex engine of Ruby 2.0 and later)
● One of the most active Vim contributor in Japan.
K.T
VimConf 2016 3
Contents
● New features of Vim 8.0
● History of Vim
● Contributions of Japanese people to Vim
VimConf 2016 4
Congratulations
● Vim 8.0 was released on Sep. 12, 2016.
– Three years from the last minor release. (7.4)
– Ten years from the last major release. (7.0)
● More than 2300 patches from nearly
200 contributors were merged after 7.4.
V(im)8!
V(im)8!
V(im)8を称えよ!
VimConf 2016 5
New Features of Vim 8.0
● Vim script enhancements
– Asynchronous I/O support (channels), Jobs, Timers
– Partials, Lambda and Closure
– 64-bit Numbers
– Window IDs
– New style tests
● Packages
● Wrapping lines with indent (‘breakindent’)
● Windows: DirectWrite support
● GTK+ 3 support See `:help version8`
VimConf 2016 6
New Features of Vim 8.0 (contd.)
● Most of the new features are enhancement of Vim script.
● New features for end users are not so much.
● So at first Bram had been going to release it as 7.5, but finally
he decided to release it as 8.0, because it is easier to
understand for end users when a plugin requires new features
from Vim 8.0.
VimConf 2016 7
Asynchronous I/O support (Channels)
● Vim can now exchange messages with other processes in the
background.
● You can send a message to a server, then you can get the
results from it asynchronously.
● You can use sockets or standard I/O.
● You can use JSON, linewise or raw format.
See `:help channel-demo`
VimConf 2016 8
Jobs and Timers
● Vim can now start a job, communicate with it and stop it.
● Channels are used to communicate with the job.
● Vim can now use timers.
● They can fire once or periodically.
See `:help job_start()`
See `:help timer_start()`
VimConf 2016 9
Partials, Lambda and Closure
● A Funcref optionally binds a Dictionary and/or arguments.
This is called a Partial.
● Useful for timers and other callback functions.
● A short way to create a function has been added: {args -> expr}.
● This is useful for functions such as `filter()` and `map()`.
● Written by Yasuhiro Matsumoto (mattn), vim-jp members and me.
See `:help lambda` and `:help closure`
See `:help Partial`
VimConf 2016 10
64-bit Numbers
● Vim now uses 64-bit Numbers on almost platforms.
● Useful when handling filesizes (> 2GiB), timestamps and other
large values.
● Written by mattn and me.
See `:help Number`
VimConf 2016 11
Window IDs
● Previously windows could only be accessed by their number.
And every time a window would open, close or move that
number changes.
● Each window now has a unique ID, so that they are easy to
find.
● Useful for plugin writers.
See `:help win_getid()` and `:help win_id2win()`
VimConf 2016 12
New style tests
● This is for Vim developers.
● So far writing tests for Vim has not been easy.
● Vim 8 adds assert functions and a framework to run tests.
● If you write a patch for Vim, you should use them.
See `:help test-functions`
VimConf 2016 13
Packages
● Vim now has minimal support for managing plugins.
● If you unpack a plugin in a package directory, Vim can load it
automatically (or on demand).
● This can be a replacement for pathogen.
● If you want to download plugins from GitHub and etc., maybe
you still need to use a plugin manager like Vundle, NeoBundle,
vim-plug, etc.
See `:help packages`
VimConf 2016 14
Wrapping lines with indent (‘breakindent’)
Off
On
From my slides
of VimConf 2013
VimConf 2016 15
Wrapping lines with indent (contd.)
● The 'breakindent' option has been added to be able to wrap
lines without changing the amount of indent.
● The first version was written in 2004.
● It took ten years to be merged. (There were some problems;
coding style problems, lack of tests.)
● Tests are very important to be merged.
See `:help ’breakindent’`
VimConf 2016 16
DirectWrite support on Windows
● Better text rendering on Windows
– Better rendering quality
– Better multilingual support
● Written by Taro Muraoka (koron) and me.
● See also: https://www.kaoriya.net/blog/2013/05/05/ (in Japanese)
● TODO: Using Direct2D
– Currently it uses GDI compatible mode. So it is slower than using Direct2D.
● Copy the background to a buffer, render with DirectWrite, then copy back to GDI buffer.
– Color emojis are not supported on GDI compatible mode.
See `:help ’renderoptions’`
VimConf 2016 17
GTK+ 3 support
● The GTK+ 3 GUI works just like GTK+ 2.
● Written by Kazunobu Kuriyama (nuko8).
VimConf 2016 18
History of Vim
Date Version Description
Nov. 2, 1991 1.14 First public release
Dec. 14, 1993 2.0 The first release using the name Vi IMproved.
Aug. 12, 1994 3.0 Support for multiple windows
May 29, 1996 4.0 Graphical user interface
Feb. 19, 1998 5.0 Syntax highlighting, basic scripting
Sep. 26, 2001 6.0 Folding, plugins, multi-language, etc.
May 7, 2006 7.0 Spell checking, code completion, tab pages, current line and column
highlighting, undo branches, and more
May 12, 2007 7.1 Bug fixes, new syntax and runtime files, etc.
Aug. 9, 2008 7.2 Floating point support in scripts, new syntax files, etc.
Aug. 15, 2010 7.3 Lua and Python3 support, Blowfish encryption, persistent undo/redo
Aug. 10, 2013 7.4 A new, faster regular expression engine.
Sep. 12, 2016 8.0 Asynchronous I/O support, jobs, lambdas, etc.
From Wikipedia (some dates are different from vim_faq)
25 years ago
VimConf 2016 19
Commits graph of Vim
8.07.47.37.27.17.0
From https://github.com/vim/vim/graphs/contributors
VimConf 2016 20
Last patch numbers
Version Last patch number
7.0 243
7.1 330
7.2 446
7.3 1314
7.4 2367
8.0 On going (60 for now)
VimConf 2016 21
Contributors to Vim
● Vim 7.4.001 to 7.4.2367 patch contributor ranking
https://gist.github.com/k-takata/628ff1103f92b9135041a15c43c85b32
No. Patches Name (Country)
1 210 Christian Brabandt (Germany)
2 174 Ken Takata (Japan)
3 103 Hirohito Higashi (Japan)
4 92 Yasuhiro Matsumoto (Japan)
5 86 Dominique Pelle (France)
6 45 Yegappan Lakshmanan (?)
7 39 Kazunobu Kuriyama (Japan (maybe))
8 34 Mike Williams (?)
9 32 ZyX (Russia)
10 28 Ozaki Kiichi (Japan)
VimConf 2016 22
Contributors to Vim (contd.)
● Nearly 200 people contributed to Vim within 7.4.001 to 7.4.2367
from all over the world including Japan.
VimConf 2016 23
Contributions of Japanese people to Vim
● Vim-jp plays a very big role for this.
– Many patches and bug reports have been submitted to vim_dev from
vim-jp members.
VimConf 2016 24
What is vim-jp?
● Vim-jp is a community for Japanese vimmers. It aims to collect all
resources of Vim related to Japan/Japanese.
● Started on Sep. 15, 2011. (Five years ago.)
● Official Web Site: http://vim-jp.org/
● Issue Tracking System: https://github.com/vim-jp/issues/issues
– Discuss Vim’s issues, create and review patches for Vim, etc.
● Reading vimrc: http://vim-jp.org/reading-vimrc/
– Read vimrcs on every Saturday night. (11PM JST)
VimConf 2016 25
Achievements of vim-jp and Japanese people
● Before vim-jp (2011), 19 patches from six Japanese people were
merged.
● On 2012, 59 patches from nine Japanese people.
– Data from Taro Muraoka’s slides for ujihisa.vim #3.
http://koron.github.io/ujihisa-201211/
● After Vim 7.4, about 560 patches from about 25 Japanese people
were merged in three years. (About 186 patches per year) (Note
that not all people are member of vim-jp.)
● Number of patches becomes ten times in five years.
VimConf 2016 26
Patches from vim-jp members
● Channels, jobs and timers support on Windows.
● Lambda and closure.
● 64-bit Number support.
● DirectWrite support.
● Many bug fixes related to Japanese and multibyte.
● And etc.
VimConf 2016 27
Moving to GitHub
● Last year (2015), the official repository of Vim moved from Google Code to
GitHub. (Because Google Code shut down.)
– There were two alternatives: GitHub and Bitbucket.
● Vim-jp members think that success of vim-jp might have influence to the
decision. See Taro’s slides for VimConf 2015:
https://drive.google.com/file/d/0ByQIX4Ls1SHlaGFJamN6bnZiUE0/view
● Vim official repository has CI on Travis-CI and AppVeyor. This is also based
on vim-jp’s work: https://github.com/vim-jp/vim-ci
● Now Vim has nightly builds for Windows (based on my work):
https://github.com/vim/vim-win32-installer
VimConf 2016 28
Test Coverage
● One year ago the test coverage of Vim was about 58%.
● Now it becomes about 68%. https://coveralls.io/github/vim/vim
VimConf 2016 29
Test Coverage (contd.)
● Vim uses Coveralls for showing coverage data.
● This is also based on vim-jp’s work. So it can be said that vim-jp also
contributed indirectly to keep the quality of Vim’s source codes.
● Bram also cares about the coverage.
● Unfortunately sometimes Coveralls cannot show very large source
files. Eval.c (the Vim script engine) was very large and it couldn’t show
on Coveralls. So he divided eval.c into several files. Now we can see it
on Coveralls.
VimConf 2016 30
Conclusions
● Vim 8.0 was released on September with many new features
mainly in enhancements of Vim script.
● Many people from all over the world contributed to it.
● Japanese people and vim-jp also played a big role for it.
Vim-jp is waiting your contributions!

More Related Content

ODP
How to write patches for Vim
PDF
Vim conf2019
PPTX
Pipenv - The Python Companion You Wish You Always Had
PPTX
From NodeJS to Rust
PDF
Last Month in PHP - June 2016
PDF
An Overview of the Open Source Vulkan Driver for Raspberry Pi 4
PDF
How to use git from vim @vim conf2013
ODP
What's unique to Qt
How to write patches for Vim
Vim conf2019
Pipenv - The Python Companion You Wish You Always Had
From NodeJS to Rust
Last Month in PHP - June 2016
An Overview of the Open Source Vulkan Driver for Raspberry Pi 4
How to use git from vim @vim conf2013
What's unique to Qt

What's hot (20)

PDF
Vim and Python
PDF
Porting Puppet to OpenBSD
PDF
使用Eclipse快樂的mruby開發
PDF
Understanding how concurrency work in os
PPTX
Geb+spock: let your functional tests live long and prosper
PPTX
Server side swift
PPTX
Python Django Basics
PDF
Montreal.rb ruby debugging basics - march 20th 2012
ODP
Beginning python programming
ODP
about Debian "squeeze" @201002 OSC Tokyospring
ODP
Git In One Evening
PDF
The BlackBox Project: Safely store secrets in Git/Mercurial (originally for P...
PDF
Why don't you Groovy?
PDF
Mozilla Shumway - opensource meetup budapest
PDF
The Rust Programming Language
PDF
find & improve some bottleneck in Debian project (DebConf14 LT)
PPTX
Type script新鮮貨報你知
PPTX
Nh php may 2014 - composer
PDF
EuroBSDCon 2021 - (auto)Installing BSD Systems
PDF
Ruxmon.2015-08.-.proxenet
Vim and Python
Porting Puppet to OpenBSD
使用Eclipse快樂的mruby開發
Understanding how concurrency work in os
Geb+spock: let your functional tests live long and prosper
Server side swift
Python Django Basics
Montreal.rb ruby debugging basics - march 20th 2012
Beginning python programming
about Debian "squeeze" @201002 OSC Tokyospring
Git In One Evening
The BlackBox Project: Safely store secrets in Git/Mercurial (originally for P...
Why don't you Groovy?
Mozilla Shumway - opensource meetup budapest
The Rust Programming Language
find & improve some bottleneck in Debian project (DebConf14 LT)
Type script新鮮貨報你知
Nh php may 2014 - composer
EuroBSDCon 2021 - (auto)Installing BSD Systems
Ruxmon.2015-08.-.proxenet
Ad

Similar to Introduction to Vim 8.0 (20)

KEY
Vim week
PDF
Let's talk about neovim
PDF
vim brownbag - Richard forth
PDF
Useful Vim Plugins
PDF
Introduction to Vim plugins developed by non-Japanese Vimmer (English version)
PDF
Vim Notes
ODP
Augusta Linux User Group - Vim Introduction
PPTX
andrew's guide to vim
PDF
Byte of vim_v051
KEY
How to become a practical Vim user
PPTX
Introduction to Vim
PDF
How I Go
PPTX
Vim survival guide
PPTX
Vim - for newbies, by Roy Osherove
ODP
Vim and Python
PDF
Unit 5 vim an advanced text editor
PDF
Vi IMproved, a programmers text editor
PDF
Tuffarsi in vim
PDF
PDF
Using VIM for PHP/Symfony development
Vim week
Let's talk about neovim
vim brownbag - Richard forth
Useful Vim Plugins
Introduction to Vim plugins developed by non-Japanese Vimmer (English version)
Vim Notes
Augusta Linux User Group - Vim Introduction
andrew's guide to vim
Byte of vim_v051
How to become a practical Vim user
Introduction to Vim
How I Go
Vim survival guide
Vim - for newbies, by Roy Osherove
Vim and Python
Unit 5 vim an advanced text editor
Vi IMproved, a programmers text editor
Tuffarsi in vim
Using VIM for PHP/Symfony development
Ad

Recently uploaded (20)

PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
top salesforce developer skills in 2025.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
history of c programming in notes for students .pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Nekopoi APK 2025 free lastest update
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
AI in Product Development-omnex systems
PPTX
L1 - Introduction to python Backend.pptx
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Softaken Excel to vCard Converter Software.pdf
Understanding Forklifts - TECH EHS Solution
top salesforce developer skills in 2025.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
How Creative Agencies Leverage Project Management Software.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
history of c programming in notes for students .pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
2025 Textile ERP Trends: SAP, Odoo & Oracle
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Nekopoi APK 2025 free lastest update
Design an Analysis of Algorithms I-SECS-1021-03
AI in Product Development-omnex systems
L1 - Introduction to python Backend.pptx
Wondershare Filmora 15 Crack With Activation Key [2025
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Odoo POS Development Services by CandidRoot Solutions
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf

Introduction to Vim 8.0

  • 1. Introduction to Vim 8.0 VimConf 2016 2016-11-05 Ken Takata
  • 2. VimConf 2016 2 Who am I? ● Name: K.Takata ● Twitter: @k_takata ● GitHub: k-takata ● Web: http://k-takata.o.oo7.jp/ ● Maintainer of Onigmo. (The regex engine of Ruby 2.0 and later) ● One of the most active Vim contributor in Japan. K.T
  • 3. VimConf 2016 3 Contents ● New features of Vim 8.0 ● History of Vim ● Contributions of Japanese people to Vim
  • 4. VimConf 2016 4 Congratulations ● Vim 8.0 was released on Sep. 12, 2016. – Three years from the last minor release. (7.4) – Ten years from the last major release. (7.0) ● More than 2300 patches from nearly 200 contributors were merged after 7.4. V(im)8! V(im)8! V(im)8を称えよ!
  • 5. VimConf 2016 5 New Features of Vim 8.0 ● Vim script enhancements – Asynchronous I/O support (channels), Jobs, Timers – Partials, Lambda and Closure – 64-bit Numbers – Window IDs – New style tests ● Packages ● Wrapping lines with indent (‘breakindent’) ● Windows: DirectWrite support ● GTK+ 3 support See `:help version8`
  • 6. VimConf 2016 6 New Features of Vim 8.0 (contd.) ● Most of the new features are enhancement of Vim script. ● New features for end users are not so much. ● So at first Bram had been going to release it as 7.5, but finally he decided to release it as 8.0, because it is easier to understand for end users when a plugin requires new features from Vim 8.0.
  • 7. VimConf 2016 7 Asynchronous I/O support (Channels) ● Vim can now exchange messages with other processes in the background. ● You can send a message to a server, then you can get the results from it asynchronously. ● You can use sockets or standard I/O. ● You can use JSON, linewise or raw format. See `:help channel-demo`
  • 8. VimConf 2016 8 Jobs and Timers ● Vim can now start a job, communicate with it and stop it. ● Channels are used to communicate with the job. ● Vim can now use timers. ● They can fire once or periodically. See `:help job_start()` See `:help timer_start()`
  • 9. VimConf 2016 9 Partials, Lambda and Closure ● A Funcref optionally binds a Dictionary and/or arguments. This is called a Partial. ● Useful for timers and other callback functions. ● A short way to create a function has been added: {args -> expr}. ● This is useful for functions such as `filter()` and `map()`. ● Written by Yasuhiro Matsumoto (mattn), vim-jp members and me. See `:help lambda` and `:help closure` See `:help Partial`
  • 10. VimConf 2016 10 64-bit Numbers ● Vim now uses 64-bit Numbers on almost platforms. ● Useful when handling filesizes (> 2GiB), timestamps and other large values. ● Written by mattn and me. See `:help Number`
  • 11. VimConf 2016 11 Window IDs ● Previously windows could only be accessed by their number. And every time a window would open, close or move that number changes. ● Each window now has a unique ID, so that they are easy to find. ● Useful for plugin writers. See `:help win_getid()` and `:help win_id2win()`
  • 12. VimConf 2016 12 New style tests ● This is for Vim developers. ● So far writing tests for Vim has not been easy. ● Vim 8 adds assert functions and a framework to run tests. ● If you write a patch for Vim, you should use them. See `:help test-functions`
  • 13. VimConf 2016 13 Packages ● Vim now has minimal support for managing plugins. ● If you unpack a plugin in a package directory, Vim can load it automatically (or on demand). ● This can be a replacement for pathogen. ● If you want to download plugins from GitHub and etc., maybe you still need to use a plugin manager like Vundle, NeoBundle, vim-plug, etc. See `:help packages`
  • 14. VimConf 2016 14 Wrapping lines with indent (‘breakindent’) Off On From my slides of VimConf 2013
  • 15. VimConf 2016 15 Wrapping lines with indent (contd.) ● The 'breakindent' option has been added to be able to wrap lines without changing the amount of indent. ● The first version was written in 2004. ● It took ten years to be merged. (There were some problems; coding style problems, lack of tests.) ● Tests are very important to be merged. See `:help ’breakindent’`
  • 16. VimConf 2016 16 DirectWrite support on Windows ● Better text rendering on Windows – Better rendering quality – Better multilingual support ● Written by Taro Muraoka (koron) and me. ● See also: https://www.kaoriya.net/blog/2013/05/05/ (in Japanese) ● TODO: Using Direct2D – Currently it uses GDI compatible mode. So it is slower than using Direct2D. ● Copy the background to a buffer, render with DirectWrite, then copy back to GDI buffer. – Color emojis are not supported on GDI compatible mode. See `:help ’renderoptions’`
  • 17. VimConf 2016 17 GTK+ 3 support ● The GTK+ 3 GUI works just like GTK+ 2. ● Written by Kazunobu Kuriyama (nuko8).
  • 18. VimConf 2016 18 History of Vim Date Version Description Nov. 2, 1991 1.14 First public release Dec. 14, 1993 2.0 The first release using the name Vi IMproved. Aug. 12, 1994 3.0 Support for multiple windows May 29, 1996 4.0 Graphical user interface Feb. 19, 1998 5.0 Syntax highlighting, basic scripting Sep. 26, 2001 6.0 Folding, plugins, multi-language, etc. May 7, 2006 7.0 Spell checking, code completion, tab pages, current line and column highlighting, undo branches, and more May 12, 2007 7.1 Bug fixes, new syntax and runtime files, etc. Aug. 9, 2008 7.2 Floating point support in scripts, new syntax files, etc. Aug. 15, 2010 7.3 Lua and Python3 support, Blowfish encryption, persistent undo/redo Aug. 10, 2013 7.4 A new, faster regular expression engine. Sep. 12, 2016 8.0 Asynchronous I/O support, jobs, lambdas, etc. From Wikipedia (some dates are different from vim_faq) 25 years ago
  • 19. VimConf 2016 19 Commits graph of Vim 8.07.47.37.27.17.0 From https://github.com/vim/vim/graphs/contributors
  • 20. VimConf 2016 20 Last patch numbers Version Last patch number 7.0 243 7.1 330 7.2 446 7.3 1314 7.4 2367 8.0 On going (60 for now)
  • 21. VimConf 2016 21 Contributors to Vim ● Vim 7.4.001 to 7.4.2367 patch contributor ranking https://gist.github.com/k-takata/628ff1103f92b9135041a15c43c85b32 No. Patches Name (Country) 1 210 Christian Brabandt (Germany) 2 174 Ken Takata (Japan) 3 103 Hirohito Higashi (Japan) 4 92 Yasuhiro Matsumoto (Japan) 5 86 Dominique Pelle (France) 6 45 Yegappan Lakshmanan (?) 7 39 Kazunobu Kuriyama (Japan (maybe)) 8 34 Mike Williams (?) 9 32 ZyX (Russia) 10 28 Ozaki Kiichi (Japan)
  • 22. VimConf 2016 22 Contributors to Vim (contd.) ● Nearly 200 people contributed to Vim within 7.4.001 to 7.4.2367 from all over the world including Japan.
  • 23. VimConf 2016 23 Contributions of Japanese people to Vim ● Vim-jp plays a very big role for this. – Many patches and bug reports have been submitted to vim_dev from vim-jp members.
  • 24. VimConf 2016 24 What is vim-jp? ● Vim-jp is a community for Japanese vimmers. It aims to collect all resources of Vim related to Japan/Japanese. ● Started on Sep. 15, 2011. (Five years ago.) ● Official Web Site: http://vim-jp.org/ ● Issue Tracking System: https://github.com/vim-jp/issues/issues – Discuss Vim’s issues, create and review patches for Vim, etc. ● Reading vimrc: http://vim-jp.org/reading-vimrc/ – Read vimrcs on every Saturday night. (11PM JST)
  • 25. VimConf 2016 25 Achievements of vim-jp and Japanese people ● Before vim-jp (2011), 19 patches from six Japanese people were merged. ● On 2012, 59 patches from nine Japanese people. – Data from Taro Muraoka’s slides for ujihisa.vim #3. http://koron.github.io/ujihisa-201211/ ● After Vim 7.4, about 560 patches from about 25 Japanese people were merged in three years. (About 186 patches per year) (Note that not all people are member of vim-jp.) ● Number of patches becomes ten times in five years.
  • 26. VimConf 2016 26 Patches from vim-jp members ● Channels, jobs and timers support on Windows. ● Lambda and closure. ● 64-bit Number support. ● DirectWrite support. ● Many bug fixes related to Japanese and multibyte. ● And etc.
  • 27. VimConf 2016 27 Moving to GitHub ● Last year (2015), the official repository of Vim moved from Google Code to GitHub. (Because Google Code shut down.) – There were two alternatives: GitHub and Bitbucket. ● Vim-jp members think that success of vim-jp might have influence to the decision. See Taro’s slides for VimConf 2015: https://drive.google.com/file/d/0ByQIX4Ls1SHlaGFJamN6bnZiUE0/view ● Vim official repository has CI on Travis-CI and AppVeyor. This is also based on vim-jp’s work: https://github.com/vim-jp/vim-ci ● Now Vim has nightly builds for Windows (based on my work): https://github.com/vim/vim-win32-installer
  • 28. VimConf 2016 28 Test Coverage ● One year ago the test coverage of Vim was about 58%. ● Now it becomes about 68%. https://coveralls.io/github/vim/vim
  • 29. VimConf 2016 29 Test Coverage (contd.) ● Vim uses Coveralls for showing coverage data. ● This is also based on vim-jp’s work. So it can be said that vim-jp also contributed indirectly to keep the quality of Vim’s source codes. ● Bram also cares about the coverage. ● Unfortunately sometimes Coveralls cannot show very large source files. Eval.c (the Vim script engine) was very large and it couldn’t show on Coveralls. So he divided eval.c into several files. Now we can see it on Coveralls.
  • 30. VimConf 2016 30 Conclusions ● Vim 8.0 was released on September with many new features mainly in enhancements of Vim script. ● Many people from all over the world contributed to it. ● Japanese people and vim-jp also played a big role for it. Vim-jp is waiting your contributions!