My favorite VIM based IDE !!

Chris 6d157bb63a silent keymappings, less themes il y a 5 ans
autoload 29b0a5c478 auto push il y a 5 ans
general 48e0bde090 which key is stable il y a 5 ans
keys 6d157bb63a silent keymappings, less themes il y a 5 ans
lua d45e2094d5 git integration il y a 5 ans
plug-config bcd7a4ff30 better mappings il y a 5 ans
themes 86bb86e4f1 updates il y a 5 ans
utils 7ef2a0dfc8 adding image il y a 5 ans
vim-plug 6d157bb63a silent keymappings, less themes il y a 5 ans
vscode 53123f954c added vscode support il y a 5 ans
.gitignore e58f13452d put paths in gitignore il y a 5 ans
README.md 102530aec6 fixed image url il y a 5 ans
coc-settings.json 6d157bb63a silent keymappings, less themes il y a 5 ans
init.vim 48e0bde090 which key is stable il y a 5 ans

README.md

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 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": ["~"]
    }
  }

TODO

  • People asked about vimwiki I kinda hate it but maybe I'll add it
  • float term lazy git
  • spectre, or async task/run
  • setup custom paths
  • install script envsubst is your friend
  • add better whitespace plugin and a toggle, video about clean code maybe
  • echodoc and buitin support with CoC
  • snippets (coc snippets)
  • git messenger
  • float term
  • neovide
  • setup global coc extensions to auto install

VSCode integration

We will be integrating with VSCode using this