🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.
Find a file
2020-08-08 01:47:57 -04:00
autoload removing old plug.vim 2020-08-07 01:52:37 -04:00
general cleanup 2020-08-07 23:20:01 -04:00
keys added vim gists 2020-08-08 01:47:57 -04:00
lua git integration 2020-05-03 12:18:38 -04:00
plug-config fixing install script 2020-08-07 21:33:09 -04:00
snips I hate vimwiki 2020-05-23 14:47:05 -04:00
syntax added far find and replace 2020-08-07 02:47:48 -04:00
themes async task integration 2020-08-07 21:25:39 -04:00
utils cleanup 2020-08-07 23:20:01 -04:00
vim-plug added vim gists 2020-08-08 01:47:57 -04:00
.gitignore cleanup 2020-08-07 23:20:01 -04:00
coc-settings.json using coc-python with pyright 2020-08-07 11:51:01 -04:00
init.vim cleanup 2020-08-07 23:20:01 -04:00
nvim-mach2.Dockerfile udpate docker install 2020-05-15 13:47:42 -04:00
README.md added vim gists 2020-08-08 01:47:57 -04:00

Nvim Mach 2

Nvim Mach 2 pic

Install in one command

The following will install this config if you have an existing config it will move it to ~/.config/nvim.old

This script only supports Mac, Ubuntu and Arch

bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/nvim/master/utils/install.sh)

Install Neovim

  • On Mac

    brew install neovim
    
  • Ubuntu

    sudo apt install neovim
    
  • Arch

    sudo pacman -S neovim
    

Clone this repo into your config

git clone https://github.com/ChristianChiarulli/nvim.git ~/.config/nvim

Install python & node support

pip install pynvim
npm i -g neovim

Install Neovim remote

pip install neovim-remote

This will install nvr to ~/.local/bin so you will need to add the following to your bashrc or zshrc

export PATH=$HOME/.local/bin:$PATH

Install clipboard support

  • On mac pbcopy should be builtin

  • On Ubuntu

    sudo apt install xsel
    
  • On Arch Linux

    sudo pacman -S xsel
    

(Optional) Install python & node support using virtual environments

Make sure to add these paths somewhere in your config

let g:python3_host_prog = expand("<path to python with pynvim installed>")
let g:python3_host_prog = expand("~/.miniconda/envs/neovim/bin/python3.8") " <- example

let g:node_host_prog = expand("<path to node with neovim installed>")
let g:node_host_prog = expand("~/.nvm/versions/node/v12.16.1/bin/neovim-node-host") " <- example

List of programs you should install

  • ranger
  • ueberzug
  • ripgrep
  • silver_searcher
  • fd
  • universal-ctags
  • lazy git
  • lazy docker

Explanations and installation instruction can be found on my blog

Language Servers

Since CoC doesn't support all languages in there extensions I recommend installing some language servers from scratch and adding them to your coc-settings.json file

Example:

  • bash

    npm i -g bash-language-server

    "languageserver": {
    "bash": {
      "command": "bash-language-server",
      "args": ["start"],
      "filetypes": ["sh"],
      "ignoredRootPaths": ["~"]
      }
    }
    

TabNine

To use tabnine enter the following in a buffer:

TabNine::config

Vim Gists

To use vim-gists you will need to configure the following:

git config --global github.user <username>

TODO

  • vimspector
  • ale

LOW PRIORITY

  • git messenger
  • multiple cursors
  • markdown table
  • People asked about vimwiki I kinda hate it but maybe I'll add it
  • spaceline (add colorscheme for mach2)
  • tpope/vim-dadbod
  • later manually link pylance
  • neovide

CoC extensions to check out

  • coc-fzf
  • coc-stylelintplus
  • coc-highlight (just for pick color, highlight is too slow)
  • coc-floaterm
  • coc-actions
  • coc-bookmark

0.5

  • native lsp
  • treesitter

Things to look into

Python https://realpython.com/python-debugging-pdb/ " breakpoint syntax is really cool also look into profiling as well