Skip to content

Latest commit

 

History

History
164 lines (99 loc) · 3.57 KB

neovim.md

File metadata and controls

164 lines (99 loc) · 3.57 KB

autoscale: true

neovim


[fit] What's wrong with vim?

  • Nothing!
  • over 20 years old
  • 300K lines of "scary" C89 code
  • All code is Bram Mooleaner's responsibility
  • Lots of platform-specific code
  • All plugin code runs synchronously

left filtered


[fit] What does neovim do better?

  • Aggressively refactor source code1
    • Replace platform-specific code with libuv
    • Simplify maintenance
  • Split work between multiple developers
  • Provide a new plugin architecture based on coprocesses
    • Plugins can be written in any language without explicit support from the editor

Installing neovim

OSX

brew tap neovim/neovim
brew install --HEAD neovim

Ubuntu

sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt-get update
sudo apt-get install neovim

Windows (experimental)

See https://github.com/neovim/neovim/wiki/Installing-Neovim#windows


What else do I need to do to get started?


nvim


There be dragons

inline


[fit] But I alread have a very complicated .vimrc

ln -s ~/.vimrc ~/.nvimrc
ln -s ~/.vim ~/.nvim
alias vim="nvim"

Did you notice a difference?

me either


Let's make a few small changes

230%


[fit] Syntastic -> Neomake


Syntastic and Neomake

left filtered

  • Syntax checking plugin for vim/neovim
  • Runs files through an external syntax checker and displays the resulting errors on file save
  • JSHint
  • TSLint
  • Rubocop

vim-plug


vim-plug

Similar to vundle, but super-fast!

call plug#begin('~/.vim/plugged')

Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-repeat'
Plug 'garbas/vim-snipmate'

" On-demand loading
Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }

" Unmanaged plugin (manually installed and updated)
Plug '~/my-prototype-plugin'

" Add plugins to &runtimepath
call plug#end()

There's more!


:terminal

Open a terminal in a neovim buffer

inline


Looks cool!

530%


@nicknisi

Footnotes

  1. https://github.com/neovim/neovim/wiki/Introduction