Slide 1

Slide 1 text

All in with 1 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 2

Slide 2 text

What is NeoVim? 2 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 3

Slide 3 text

NeoVim → Hard fork of Vim focused on extensibility and usability → Aggressive (yet careful) refactor of the original Vim code → Neovim is literally the future of Vim! 3 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 4

Slide 4 text

Dorian Karter ! doriankarter.com " @dorian_escplan Hashrocket ! hashrocket.com 4 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 5

Slide 5 text

NeoVim Refactoring Goals → Simplify maintenance and encourage contributions → Split the work between multiple developers → Enable advanced UIs without modifications to the core → Maximize extensibility 5 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 6

Slide 6 text

Simplify maintenance 6 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 7

Slide 7 text

Vim Hall of WTF 7 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 8

Slide 8 text

libuv 8 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 9

Slide 9 text

Compatible Mode :h compatible 9 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 10

Slide 10 text

Sensible Defaults 10 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 11

Slide 11 text

:h vim-diff 11 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 12

Slide 12 text

Encourage contributions Split the work between multiple developers 12 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 13

Slide 13 text

BDFL 13 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 14

Slide 14 text

Benevolent Dictator For Life (BDFL) is a title given to a small number of open-source software development leaders, typically project founders who retain the final say in disputes or arguments within the community. → Wikipedia 14 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 15

Slide 15 text

Background Where did it all start? → Matt Kaniaris & Geoff Greer [Floobits] → Thiago de Arruda - Creator of NeoVim 15 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 16

Slide 16 text

16 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 17

Slide 17 text

Which is which? 17 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 18

Slide 18 text

18 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 19

Slide 19 text

19 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 20

Slide 20 text

CI && Tests 20 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 21

Slide 21 text

CONTRIBUTING.md 21 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 22

Slide 22 text

Enable advanced UIs [without modifications to the core] 22 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 23

Slide 23 text

23 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 24

Slide 24 text

vim-mode powered plugins → Atom → VSCode 24 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 25

Slide 25 text

Maximize Extensibility 25 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 26

Slide 26 text

msgpack-rpc (Vim API) → Execute Vim commands → Evaluate Vimscript expressions → Manipulate buffers, windows and tabs → Receive/handle editor events 26 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 27

Slide 27 text

NeoVim Features 27 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 28

Slide 28 text

NeoVim Features → Modern GUIs (using msgpack API) → Write Plugins in Any Language → New Plugin Architecture based on CoProcesses → Embedded Scriptable Terminal Emulator → Shared Data between editor instances → XDG Spec Implementation 28 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 29

Slide 29 text

⚙ Job Control 29 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 30

Slide 30 text

! Support 30 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 31

Slide 31 text

True Support 31 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 32

Slide 32 text

Biggest weakness of Legacy Vim™ 32 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 33

Slide 33 text

™ux 33 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 34

Slide 34 text

Biggest strength of NeoVim (IMO) Terminal! 34 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 35

Slide 35 text

My history with NeoVim 35 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 36

Slide 36 text

Going All In Setup an alias echo alias vim='nvim' >> ~/.zshrc Backup command vim 36 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 37

Slide 37 text

NVim from Vim :help nvim-from-vim Can be as simple as brew install neovim ln -s ~/.vimrc ~/.config/nvim/init.vim 37 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 38

Slide 38 text

Essential Plugins 38 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 39

Slide 39 text

NeoTerm 39 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 40

Slide 40 text

vim-test 40 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 41

Slide 41 text

deoplete.nvim 41 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 42

Slide 42 text

nvim-completion-manager 42 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 43

Slide 43 text

asyncomplete 43 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 44

Slide 44 text

WebComplete (w/ Deoplete) 44 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 45

Slide 45 text

LanguageClie nt-neovim 45 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 46

Slide 46 text

ALE 46 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 47

Slide 47 text

NVimux [Neovim as a TMUX replacement] 47 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 48

Slide 48 text

https://github.com/neovim/neovim/wiki/Related- projects 48 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 49

Slide 49 text

Writing Your OWN Plugin 49 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 50

Slide 50 text

50 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 51

Slide 51 text

Betraying your editor? 51 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 52

Slide 52 text

Community 52 — Going All in With NeoVim - Dorian Karter @dorian_escplan

Slide 53

Slide 53 text

→ https://www.reddit.com/r/neovim/ → http://neovim.io/ → https://github.com/neovim/neovim → http://twitter.com/neovim → https://waffle.io/neovim/neovim → https://gitter.im/neovim/neovim → On IRC freenode: #neovim 53 — Going All in With NeoVim - Dorian Karter @dorian_escplan