This is my personal Neovim configuration, it can be used in Windows and Linux, it uses the lazy.nvim plugin manager with following plugins:
- Colorscheme (tokyonight)
- Telescope
- Treesitter
- Oil
- Lualine
- Neo-tree
I think these are the bare minimum plugins need it to have a very nice experience using Neovim, other functionally can be accomplish setting up internal variables or writing remaps.
After installation, inside Neovim run this command to see the custom remaps:
:help customide.cheat
of see it here.
The installation is strait forward, all the dependencies can be installed manually but it is recommended to use Scoop because it is easier to manage.
Install Scoop:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Install Neovim:
scoop install neovim
Install Telescope dependencies fd and ripgrep:
scoop install fd
sccop install ripgrep
Install Treesitter dependencies, a C compiler is required:
scoop install mingw-winlibs-llvm-ucrt
or
scoop install gcc
Install Neovim:
wget https://github.com/neovim/neovim/releases/download/v0.9.5/nvim-linux64.tar.gz
tar -xzf nvim-linux64.tar.gz
mkdir -p ~/bin
mv nvim-linux64 ~/bin
rm -rf nvim-linux64.tar.gz
add Neovim to the PATH in ~/.bashrc
:
export PATH=~/bin/nvim-linux64/bin:$PATH
Reload ~/.bashrc
source .bashrc
Install Telescope dependencies fd and ripgrep:
sudo apt-get install ripgrep
sudo apt-get install fd-find
in ~/.bashrc
paste the following line to avoid problems in case you have other program using the fd
alias:
alias fd='fdfind'
Install Treesitter dependencies, a C compiler is required:
sudo apt-get install gcc
Usually this step is optional because most Linux distributions already comes with a C compiler.
If you are using WSL, sometimes it does not come with a clipboard manager installed, you can install one with:
sudo apt-get install xclip
this allows to copy and paste outside Neovim.
For Windows you can install the font with the following command:
scoop bucket add nerd-fonts
scoop install nerd-fonts/Hack-NF-Mono
For Linux you can do the following:
cd ~
mkdir .fonts
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/Hack.zip -O ~/.fonts
unzip ~/.fonts/Hack.zip -d ~/.fonts
rm ~/.fonts/Hack.zip
In both cases you have to to select the font Hack Nerd Font Mono in the Terminal settings.
Note
If you want to install the fonts manually there is a fonts
directory in this repository containing a Hack.zip
file. For Windows you can decompress and install the font as any other. For Linux you have to create a ~/.fonts
directory and put the fonts there and restart the terminal.
Finally clone the repository in C:\Users\username\AppData\Local\nvim
for Windows or in /home/username/.config/nvim
for Linux:
git clone https://github.com/cirofabianbermudez/nvim.git
Open Neovim and let lazy.nvim install all the plugins:
nvim
After every update, the local lockfile is updated with the installed revisions. It is recommended to have this file under version control.
If you use your Neovim config on multiple machines, using the lockfile, you can ensure that the same version of every plugin is installed.
If you are on another machine, you can do :Lazy restore
, to update all your plugins to the version from the lockfile.
Inside this repository there is a spell
directory that contains the *.spl
and .sug
files for English and Spanish in case you experience some problems while running the setlocal spell spelllang=es
vim command.
This is the current file tree of the project:
├── README.md
├── doc/
│ ├── customide.txt
│ ├── git_cheatsheet.txt
│ └── tags
├── fonts/
│ └── Hack.zip
├── init.lua
├── lua/
│ ├── core/
│ │ ├── formaters.lua
│ │ ├── init.lua
│ │ ├── lazy.lua
│ │ ├── markdown.lua
│ │ ├── remap.lua
│ │ └── set.lua
│ └── plugins/
│ ├── colorscheme.lua
│ ├── lsp.lua
│ ├── lualine.lua
│ ├── neotree.lua
│ ├── oil.lua
│ ├── telescope.lua
│ └── treesitter.lua
├── scripts/
│ ├── install_formaters.sh
│ ├── install_formaters_wind.sh
│ ├── tree.sh
│ └── tree_wind.sh
└── spell/
├── en.utf-8.spl
├── en.utf-8.sug
├── es.utf-8.spl
└── es.utf-8.sug
Search for the latest version of PowerShell
winget search Microsoft.PowerShell
Install PowerShell
winget install --id Microsoft.Powershell --source winget
Upgrading an existing installation
winget list --name PowerShell --upgrade-available
-
This configuration was tested on a Windows 10/11 machine using Powershell and Terminal.
-
This configuration was tested on a WSL Ubuntu 22.04.4 LTS using Terminal.