Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Going All In with NeoVim

Going All In with NeoVim

NeoVim started as a crowd source campaign with a goal to "aggressively refactor Vim", essentially removing 20+ years of cruft and providing new features never before possible. NeoVim is now about 4 years old and comes packed with wonderful features!

Come learn why I think NeoVim is the future on Vim, why after many back and forth I've decided to go all-in, and which tools and plugins make NeoVim a better choice for most people than Vim.

Dorian Karter

February 22, 2018
Tweet

More Decks by Dorian Karter

Other Decks in Programming

Transcript

  1. All in with 1 — Going All in With NeoVim

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

    - Dorian Karter @dorian_escplan
  3. 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
  4. Dorian Karter ! doriankarter.com " @dorian_escplan Hashrocket ! hashrocket.com 4

    — Going All in With NeoVim - Dorian Karter @dorian_escplan
  5. 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
  6. Vim Hall of WTF 7 — Going All in With

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

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

    Dorian Karter @dorian_escplan
  9. Encourage contributions Split the work between multiple developers 12 —

    Going All in With NeoVim - Dorian Karter @dorian_escplan
  10. 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
  11. 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
  12. Which is which? 17 — Going All in With NeoVim

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

    - Dorian Karter @dorian_escplan
  14. Enable advanced UIs [without modifications to the core] 22 —

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

    All in With NeoVim - Dorian Karter @dorian_escplan
  16. 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
  17. 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
  18. ⚙ Job Control 29 — Going All in With NeoVim

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

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

    Dorian Karter @dorian_escplan
  21. Biggest weakness of Legacy Vim™ 32 — Going All in

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

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

    NeoVim - Dorian Karter @dorian_escplan
  24. Going All In Setup an alias echo alias vim='nvim' >>

    ~/.zshrc Backup command vim 36 — Going All in With NeoVim - Dorian Karter @dorian_escplan
  25. 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
  26. NVimux [Neovim as a TMUX replacement] 47 — Going All

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

    NeoVim - Dorian Karter @dorian_escplan
  28. → 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