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

Neovim

Nick Nisi
October 08, 2015

 Neovim

A lightning talk on Neovim given at the Omaha Ruby and Open Source Meetup.

Nick Nisi

October 08, 2015
Tweet

More Decks by Nick Nisi

Other Decks in Programming

Transcript

  1. 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
  2. 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 1 https://github.com/neovim/neovim/wiki/Introduction
  3. 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
  4. BUT I ALREAD HAVE A VERY COMPLICATED .vimrc ln -s

    ~/.vimrc ~/.nvimrc ln -s ~/.vim ~/.nvim alias vim="nvim"
  5. SYNTASTIC AND NEOMAKE > Syntax checking plugin for vim/ neovim

    > Runs files through an external syntax checker and displays the resulting errors on file save > JSHint > TSLint > Rubocop
  6. 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()