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>main
parent
0112dfe601
commit
925010f10d
64
README.md
64
README.md
|
@ -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.
|
markdown, HTML, CSS/SCSS and python files.
|
||||||
|
|
||||||
I'm using `vim-plug` as a plugin manager. To install and activate `vim-plug`
|
I'm using `vim-plug` as a plugin manager. To install and activate `vim-plug`
|
||||||
see the [documentation][1].
|
see the [documentation][7].
|
||||||
|
|
||||||
I'm using the [nord color scheme][5].
|
|
||||||
|
|
||||||
## To do
|
## To do
|
||||||
|
|
||||||
- [x] Document how to use `pyenv` to provide a python engine.
|
- [x] Document how to use `pyenv` to provide a python engine.
|
||||||
- [ ] Identify the python package dependencies.
|
- [x] Identify the python package dependencies.
|
||||||
- `jedi`.
|
|
||||||
- `jedi-language-server`.
|
|
||||||
- `flake8`.
|
|
||||||
- `neovim`.
|
|
||||||
- `pycodestyle`.
|
|
||||||
- `pyflakes`.
|
|
||||||
- `pynvim`.
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
1. `neovim`
|
1. `neovim`
|
||||||
1. `git`
|
1. `git`
|
||||||
|
1. A python virtualenv with python dependencies installed. (see [pyenv
|
||||||
|
section][10]).
|
||||||
1. `nodejs`, `yarn`
|
1. `nodejs`, `yarn`
|
||||||
1. [vim-plug][1]
|
1. [vim-plug][1]
|
||||||
1. [ripgrep][2]
|
1. [ripgrep][2]
|
||||||
1. [The Silver Searcher (`ag`)][3]
|
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].
|
1. A [font patched for nerds][8].
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
1. Clone the repository.
|
1. Check [the requirements][4]. ⬆
|
||||||
1. Create a symlink.
|
1. Clone the repository \
|
||||||
1. Check [the requirements][4].
|
`git clone <URL>`
|
||||||
- [Install `vim-plug`][7].
|
1. Create a symlink: \
|
||||||
|
`ln /path/neovim/init.vim /home/user/.config/nvim/init.vim`.
|
||||||
|
1. [Install `vim-plug`][7].
|
||||||
1. Start `neovim`.
|
1. Start `neovim`.
|
||||||
1. Install the plugins (`:PlugInstall`).
|
1. Install the plugins (`:PlugInstall`).
|
||||||
|
|
||||||
``` bash
|
## Create a virtualenv with pyenv
|
||||||
git clone <URL>
|
|
||||||
ln -s neovim .config/neovim
|
|
||||||
nvim
|
|
||||||
:PlugInstall
|
|
||||||
```
|
|
||||||
|
|
||||||
## External configuration
|
Benefit: having a separate virtual environment for the python engine than the
|
||||||
|
one your working into.
|
||||||
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.
|
|
||||||
|
|
||||||
Install `pyenv` with the [`pyenv-installer`][9].
|
Install `pyenv` with the [`pyenv-installer`][9].
|
||||||
|
|
||||||
Install the python version you need with `pyenv`:
|
Install the python version you need with `pyenv`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pyenv install 3.9.9
|
pyenv install <python version>
|
||||||
```
|
```
|
||||||
|
|
||||||
Create and name the virtual environment for neovim:
|
Create and name the virtual environment for neovim:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pyenv virtualenv 3.9.9 neovim
|
pyenv virtualenv <python version> neovim
|
||||||
```
|
```
|
||||||
|
|
||||||
Activate the virtual environment and fetch the python path:
|
Activate the virtual environment and fetch the python path:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pyenv activate neovim
|
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`:
|
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:
|
Install the python dependencies in the virtual environment as it is activated:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install neovim pynvim …
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
To deactivate the virtual environment:
|
To deactivate the virtual environment:
|
||||||
|
@ -115,3 +86,4 @@ pyenv deactivate
|
||||||
[7]: https://github.com/junegunn/vim-plug#installation
|
[7]: https://github.com/junegunn/vim-plug#installation
|
||||||
[8]: https://www.github.com/ryanoasis/nerd-fonts
|
[8]: https://www.github.com/ryanoasis/nerd-fonts
|
||||||
[9]: https://github.com/pyenv/pyenv-installer
|
[9]: https://github.com/pyenv/pyenv-installer
|
||||||
|
[10]: #create-a-virtualenv-with-pyenv
|
||||||
|
|
|
@ -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
|
Loading…
Reference in New Issue