My neovim setup.
 
 
Go to file
iGor milhit 7c055de06e
plugins: add plugins for CSV and for md links.
Co-Authored-by: iGor milhit <igor@milhit.ch>
2022-10-25 16:42:49 +02:00
.gitignore neovim: autocompletion 2019-03-06 07:18:24 +01:00
README.md pyenv: replace hard path by environment variable 2022-02-25 16:19:55 +01:00
init.vim plugins: add plugins for CSV and for md links. 2022-10-25 16:42:49 +02:00
minimal-init.vim markdown: add a config for preview with pandoc 2020-12-13 13:57:18 +01:00

README.md

My neovim setup

I'm trying to document my neovim setup. Mostly, I'm using neovim to edit markdown, HTML, CSS/SCSS and python files.

I'm using vim-plug as a plugin manager. To install and activate vim-plug see the documentation.

I'm using the nord color scheme.

To do

  • Document how to use pyenv to provide a python engine.
  • Identify the python package dependencies.
    • jedi.
    • jedi-language-server.
    • flake8.
    • neovim.
    • pycodestyle.
    • pyflakes.
    • pynvim.

Requirements

  1. neovim
  2. git
  3. nodejs, yarn
  4. vim-plug
  5. ripgrep
  6. The Silver Searcher (ag)
  7. grammalecte, the python standalone program.
  8. All or any of these python linters: pep8, flake8, pycodestyle, pyflakes.
  9. scss_lint (ruby), for SCSS lint.
  10. A font patched for nerds.

Installation

  1. Clone the repository.
  2. Create a symlink.
  3. Check the requirements.
  4. Start neovim.
  5. Install the plugins (:PlugInstall).
git clone <URL>
ln -s neovim .config/neovim
nvim
:PlugInstall

External configuration

In order to improve the fzf preview window display, it's possible to configure it through the following env variable:

export FZF_DEFAULT_OPTS="--preview='bat --style=numbers --color=always --line-range :500 {}' \
                         --border \
                         --color 'border:#4c566a,info:#4c566a,pointer:#88c0d0,prompt:#5e81ac,bg+:#3b4252,hl:#a3be8c'"

See the fzf documentation: https://github.com/junegunn/fzf#preview-window

Provide an virtual environment for python engine

Benefit: having a separate virtual environment for your editor than the one your working into.

Install pyenv with the pyenv-installer.

Install the python version you need with pyenv:

pyenv install 3.9.9

Create and name the virtual environment for neovim:

pyenv virtualenv 3.9.9 neovim

Activate the virtual environment and fetch the python path:

pyenv activate neovim
pyenv which python      #Note the provided path

Add the following line to your init.vim:

let g:python3_host_prog = '/full/path/to/neovim/bin/python

Install the python dependencies in the virtual environment as it is activated:

pip install neovim pynvim …

To deactivate the virtual environment:

pyenv deactivate