Skip to content

Simple Neovim setup with the bare minimum, just useful keymaps and essential plugins

Notifications You must be signed in to change notification settings

cirofabianbermudez/nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nvim_setup

Gettting started

This is my personal Neovim configuration, it can be used in Windows and Linux, it uses the lazy.nvim plugin manager with following plugins:

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.

Installation

Windows

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

Linux

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.

Fonts

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

Lockfile

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.

Spell check

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.

File tree

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

Extras

Installing and Upgrading Powershell

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

Project status

  • 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.

About

Simple Neovim setup with the bare minimum, just useful keymaps and essential plugins

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published