62
Introduction to Vim plugins developed by non-Japanese Vimmer VimConf 2015 2015/11/21(Sat) deris0126

Introduction to Vim plugins developed by non-Japanese Vimmer (English version)

Embed Size (px)

Citation preview

Introduction to Vim plugins developed by non-Japanese Vimmer

VimConf 20152015/11/21(Sat)deris0126

About me

❖ Twitter: @deris0126

❖ deris.hatenablog.jp

❖ github.com/deris

❖ Interested in: golang

About my Vim life

❖ My .vimrc: 2344 line

❖ Using Vim plugin: 139

❖ Created Vim plugin: 19

❖ vim-rengbang, vim-shot-f

Introduction

Famous Vim plugins by non-Japanese Vimmer

❖ vim-surround

❖ vim-fugitive

❖ vim-rails

❖ nerdtree

❖ syntastic

❖ tagbar

❖ ctrlp.vim

❖ vim-airline

(3000 star over) github star

(6000 star over)

(3000 star over)

(5000 star over)

(5000 star over)

(2000 star over)

(5000 star over in old repos)

(6000 star over)

Is today’s topic famous Vim plugin? No!

❖ Today’s topic is about little-known Vim plugin in Japan

❖ I didn’t know them until this month

❖ Of course, today’s Vim plugins are not in my .vimrc

❖ (not in 139)

Is today’s topic famous Vim plugin? No!

❖ Not in following my article

❖ Vim plugin 8 selection developed by non-Japanese Vimmer(http://deris.hatenablog.jp/entry/2013/12/15/235606)

❖ *This article is written in Japanese

Is today’s topic famous Vim plugin? No!

❖ Independent of specified Programming Language

❖ Because I want to target many more Vimmer

Is today’s topic famous Vim plugin? No!

❖ Some of these plugins didn’t appear in vimrc reading club in Japan

❖ vimrc reading club was held 176 times!Crazy!!!

❖ http://vim-jp.org/reading-vimrc/

❖ Selected carefully by deris :)

Purpose?

Purpose?

❖ (Maybe) Life changing of someone

❖ Inspiration of new Vim plugin

Introduction to 10 Vim plugins

Introduction to 10 Vim plugins1. sideways.vim

2. targets.vim

3. vim-table-mode

4. investigate.vim

5. inline_edit.vim

6. changesPlugin

7. Recover.vim

8. BufTimer

9. YUNOcommit.vim

10. autotype.vim

1. sideways.vim

1. sideways.vim

❖ Move cursor between function arguments

❖ Exchange a function argument for next or previous one

❖ Use a function argument as textobject

1. sideways.vim

❖ Demo

1. sideways.vim❖ Similar plugin

❖ vim-textobj-parameter

❖ vim-exchange

❖ Difference

❖ vim-textobj-parameter only use the function argument as textobject

❖ vim-exchange switch target two textobject not only function argument

2. targets.vim

2. targets.vim❖ Define some useful textobject

❖ in) is target to next inner parenthesis, and il) target to previous one

❖ in} in’ is same as above

❖ an) is same as above(but not inner but around)

❖ i{char} (i, i. i; etc) target to inner surround {char}

❖ a{char} is same as above(but not inner but around)

2. targets.vim

❖ Demo

2. targets.vim

❖ Similar plugin

❖ vim-textobj-between

❖ Difference

❖ vim-textob-between is enable to define key map like if{char}, af{char}(by default) and these key target to inner(or around) surround {char}

3. vim-table-mode

3. vim-table-mode

❖ Make table easily by input |(bar)

❖ Convert to table from such as cvs file by :Tableize command

3. vim-table-mode

❖ Demo

3. vim-table-mode❖ Similar plugin

❖ vim-maketable

❖ DrawIt!

❖ Difference

❖ vim-maretable define command like :Tableize command

❖ DrawIt! enable to write line by moving cursor

4. investigate.vim

4. investigate.vim

❖ Search from Web document page depending on current filetype

❖ Prepare some filetypes by default

❖ Search from Dash depending on current filetype

❖ Dash is Mac application that enable to search from API reference(several Programming Languages and others)

4. investigate.vim

❖ Demo

4. investigate.vim❖ Similar plugin

❖ vim-ref

❖ devdocs.vim

❖ Difference

❖ vim-ref enable to search from dictionary or document and to show in Vim buffer

❖ devdocs.vim enable to search from devdocs.io

5. inline_edit.vim

5. inline_edit.vim

❖ Show register list in separate window when use register

5. inline_edit.vim

❖ Demo

5. inline_edit.vim❖ Similar plugin

❖ vim-precious

❖ vim-partedit

❖ Difference

❖ inline_edit.vim open other window in consideration of filetype automatically

❖ vim-precious switch filetype in same buffer and some useful features

❖ vim-partedit open other window with specifying text range and filetype manually

6. changesPlugin

6. changesPlugin

❖ Display the current changes of buffer at sign

❖ Move cursor to changes(default key mapping: ]h, [h)

6. changesPlugin

❖ Demo

6. changesPlugin❖ Similar plugin

❖ vim-gitgutter

❖ vim-signify

❖ Difference

❖ changesPlugin support only buffer changes

❖ vim-gitgutter and vim-signify support only git changes

7. Recover.vim

7. Recover.vim

❖ Show diff when recovering a buffer from swap

7. Recover.vim

❖ Demo

7. Recover.vim

❖ Similar plugin

❖ I haven’t found

8. Recover.vim

8. Recover.vim

❖ show edit time of buffer

8. Recover.vim

❖ Demo

8. Recover.vim

❖ Similar plugin

❖ I haven’t found

9. YUNOcommit.vim

9. YUNOcommit.vim

❖ Show message after several writings without committing

9. YUNOcommit.vim

❖ Demo

9. YUNOcommit.vim

❖ Similar plugin

❖ I haven’t found

10. autotype.vim

10. autotype.vim

❖ You will be like a hacker to a movie!!! Whoa!

10. autotype.vim

❖ Demo

10. autotype.vim

❖ Typing contents of file automatically

10. autotype.vim❖ Similar plugin

❖ Typer

❖ vim-undoreplay

❖ Replay

❖ Difference

❖ Typer and autotype.vim only output content in file

❖ vim-undoreplay and Replay replay edit operation

Vim plugins URL

Vim plugins URL(1/4)❖ My Vim plugins

❖ vim-rengbang (https://github.com/deris/vim-rengbang)

❖ vim-shot-f (https://github.com/deris/vim-shot-f)

❖ Famous Vim plugins

❖ vim-surround (https://github.com/tpope/vim-surround)

❖ vim-fugitive (https://github.com/tpope/vim-fugitive)

❖ vim-rails (https://github.com/tpope/vim-rails)

❖ nerdtree (https://github.com/scrooloose/nerdtree)

❖ syntastic (https://github.com/scrooloose/syntastic)

❖ tagbar (https://github.com/majutsushi/tagbar)

❖ ctrlp.vim (https://github.com/ctrlpvim/ctrlp.vim)

❖ vim-airline (https://github.com/bling/vim-airline)

Vim plugins URL(2/4)❖ Introduce to 10 Vim plugins

❖ 1. sideway.vim and similar Vim plugins

❖ sideways.vim (https://github.com/AndrewRadev/sideways.vim)

❖ vim-textobj-parameter (https://github.com/sgur/vim-textobj-parameter)

❖ vim-exchange (https://github.com/tommcdo/vim-exchange)

❖ 2. targets.vim and similar Vim plugin

❖ targets.vim (https://github.com/wellle/targets.vim)

❖ vim-textobj-between (https://github.com/thinca/vim-textobj-between)

❖ 3. vim-table-mode and similar Vim plugins

❖ vim-table-mode (https://github.com/dhruvasagar/vim-table-mode)

❖ vim-maketable (https://github.com/mattn/vim-maketable)

❖ DrawIt! (http://www.vim.org/scripts/script.php?script_id=40)

Vim plugins URL(3/4)❖ Introduce to 10 Vim plugins

❖ 4. investigate.vim and similar Vim plugins

❖ investigate.vim (https://github.com/keith/investigate.vim)

❖ vim-ref (https://github.com/thinca/vim-ref)

❖ devdocs.vim (https://github.com/rhysd/devdocs.vim)

❖ 5. inline_edit.vim and similar Vim plugin

❖ inline_edit.vim (https://github.com/AndrewRadev/inline_edit.vim)

❖ vim-precious (https://github.com/osyo-manga/vim-precious)

❖ vim-partedit(https://github.com/thinca/vim-partedit)

❖ 6. changesPlugin and similar Vim plugins

❖ changesPlugin (https://github.com/chrisbra/changesPlugin)

❖ vim-gitgutter (https://github.com/airblade/vim-gitgutter)

❖ vim-signify (https://github.com/mhinz/vim-signify)

Vim plugins URL(4/4)❖ Introduce to 10 Vim plugins

❖ 7. Recover.vim

❖ Recover.vim (https://github.com/chrisbra/Recover.vim)

❖ 8. BufTimer

❖ BufTimer (https://github.com/chrisbra/BufTimer)

❖ 9. YUNOcommit.vim

❖ YUNOcommit.vim (https://github.com/esneider/YUNOcommit.vim)

❖ 10. autotype.vim and similar Vim plugins

❖ autotype.vim (https://github.com/Rykka/autotype.vim)

❖ Typer (http://www.vim.org/scripts/script.php?script_id=5254)

❖ vim-undoreplay (https://github.com/haya14busa/vim-undoreplay)

❖ Replay (https://github.com/chrisbra/Replay)

Conclusion

Conclusion

❖ Let’s enjoy to using Vim plugin in this slide

❖ Sorry for my poor English

Thank you for your attention