documentation: update the README

- Simplifies the README.
- Adds a requirements.txt with python depedencies for the virtualenv.
- Removes mentions of unused plugins and unnecessary depedencies.

Co-Authored-by: iGor milhit <igor.milhit@unige.ch>
snippets
iGor milhit 2022-12-09 11:55:41 +01:00
parent 0112dfe601
commit 925010f10d
Signed by: igor
GPG Key ID: 692D97C3D0228A99
2 changed files with 40 additions and 46 deletions

View File

@ -4,89 +4,60 @@ 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][1].
I'm using the [nord color scheme][5].
see the [documentation][7].
## To do
- [x] Document how to use `pyenv` to provide a python engine.
- [ ] Identify the python package dependencies.
- `jedi`.
- `jedi-language-server`.
- `flake8`.
- `neovim`.
- `pycodestyle`.
- `pyflakes`.
- `pynvim`.
- [x] Identify the python package dependencies.
## Requirements
1. `neovim`
1. `git`
1. A python virtualenv with python dependencies installed. (see [pyenv
section][10]).
1. `nodejs`, `yarn`
1. [vim-plug][1]
1. [ripgrep][2]
1. [The Silver Searcher (`ag`)][3]
1. `grammalecte`, the python standalone program.
1. All or any of these python linters: `pep8`, `flake8`, `pycodestyle`,
`pyflakes`.
1. `scss_lint` (ruby), for SCSS lint.
1. A [font patched for nerds][8].
## Installation
1. Clone the repository.
1. Create a symlink.
1. Check [the requirements][4].
- [Install `vim-plug`][7].
1. Check [the requirements][4]. ⬆
1. Clone the repository \
`git clone <URL>`
1. Create a symlink: \
`ln /path/neovim/init.vim /home/user/.config/nvim/init.vim`.
1. [Install `vim-plug`][7].
1. Start `neovim`.
1. Install the plugins (`:PlugInstall`).
``` bash
git clone <URL>
ln -s neovim .config/neovim
nvim
:PlugInstall
```
## Create a virtualenv with pyenv
## External configuration
In order to improve the `fzf` preview window display, it's possible to
configure it through the following `env` variable:
```bash
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.
Benefit: having a separate virtual environment for the python engine than the
one your working into.
Install `pyenv` with the [`pyenv-installer`][9].
Install the python version you need with `pyenv`:
```bash
pyenv install 3.9.9
pyenv install <python version>
```
Create and name the virtual environment for neovim:
```bash
pyenv virtualenv 3.9.9 neovim
pyenv virtualenv <python version> neovim
```
Activate the virtual environment and fetch the python path:
```bash
pyenv activate neovim
pyenv which python #Note the provided path
pyenv which python # Note the provided path
```
Add the following line to your `init.vim`:
@ -98,7 +69,7 @@ let g:python3_host_prog = '/full/path/to/neovim/bin/python
Install the python dependencies in the virtual environment as it is activated:
```bash
pip install neovim pynvim …
pip install -r requirements.txt
```
To deactivate the virtual environment:
@ -115,3 +86,4 @@ pyenv deactivate
[7]: https://github.com/junegunn/vim-plug#installation
[8]: https://www.github.com/ryanoasis/nerd-fonts
[9]: https://github.com/pyenv/pyenv-installer
[10]: #create-a-virtualenv-with-pyenv

22
requirements.txt 100644
View File

@ -0,0 +1,22 @@
certifi
charset-normalizer
docstring-to-markdown
flake8
greenlet
idna
jedi
jedi-language-server
mccabe
msgpack
neovim
parso
pycodestyle
pydantic
pyflakes
pygls
pygrammalecte
pynvim
requests
typeguard
typing_extensions
urllib3