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.

0e752ec9121eb5ebc9924f5b2e4b788e?s=128

Dorian Karter

February 22, 2018
Tweet

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. Simplify maintenance 6 — Going All in With NeoVim -

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

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

    Karter @dorian_escplan
  9. Compatible Mode :h compatible 9 — Going All in With

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

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

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

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

    Karter @dorian_escplan
  14. 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
  15. 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
  16. 16 — Going All in With NeoVim - Dorian Karter

    @dorian_escplan
  17. Which is which? 17 — Going All in With NeoVim

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

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

    @dorian_escplan
  20. CI && Tests 20 — Going All in With NeoVim

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

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

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

    @dorian_escplan
  24. vim-mode powered plugins → Atom → VSCode 24 — Going

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

    Dorian Karter @dorian_escplan
  26. 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
  27. NeoVim Features 27 — Going All in With NeoVim -

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

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

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

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

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

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

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

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

    ~/.zshrc Backup command vim 36 — Going All in With NeoVim - Dorian Karter @dorian_escplan
  37. 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
  38. Essential Plugins 38 — Going All in With NeoVim -

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

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

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

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

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

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

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

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

    Karter @dorian_escplan
  47. NVimux [Neovim as a TMUX replacement] 47 — Going All

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

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

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

    @dorian_escplan
  51. Betraying your editor? 51 — Going All in With NeoVim

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

    Karter @dorian_escplan
  53. → 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