My neovim setup.
 
 
Go to file
iGor milhit 0645bda9f4
doc: provide the python engine in a virtualenv
* Documents how to use `pyenv` to provide a virtual environment for the
  python engine.

Co-Authored-by: iGor milhit <igor@milhit.ch>
2022-01-12 17:51:34 +01:00
.gitignore neovim: autocompletion 2019-03-06 07:18:24 +01:00
README.md doc: provide the python engine in a virtualenv 2022-01-12 17:51:34 +01:00
init.vim config: format memory option for autofs directories 2021-12-29 12:17:40 +01: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