Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/LunarVim/Neovim-from-scratch

📚 A Neovim config designed from scratch to be understandable
https://github.com/LunarVim/Neovim-from-scratch

hacktoberfest hacktoberfest2022 neovim neovim-config neovim-dotfiles nvim nvim-plugin nvimrc

Last synced: about 1 month ago
JSON representation

📚 A Neovim config designed from scratch to be understandable

Awesome Lists containing this project

README

        

# Neovim from scratch

When I initially created this repo I didn't anticipate the amount of breaking changes introduced by the rapidly developing plugin ecosystem. All packages are pinned in `master` so it will remain stable and you can always follow the [videos](https://www.youtube.com/watch?v=ctH-a-1eUME&list=PLhoH5vyxr6Qq41NFL4GvhFp-WLd5xzIzZ)
there if you're getting errors in other branches.

🔍 If you see an error that you can fix [here's how](CONTRIBUTING.md) 🎉.

**Update** For a simple IDE that builds on these principles and is under active development, I recommend my newer repo: [nvim-basic-ide](https://github.com/LunarVim/nvim-basic-ide) as well as [lunarvim](https://www.lunarvim.org/) which is mature and fully-featured.

General support is available on our [Matrix channels](https://matrix.to/#/#neovim-atmachine:matrix.org).

## Try out this config

This config requires >= [Neovim v0.8.0](https://github.com/neovim/neovim/releases). Please [upgrade](#upgrade-to-neovim-v080) if you're on an earlier version of the editor.

Clone the repository into the correct location (make a backup your current `nvim` directory if you want to keep it).

```
git clone https://github.com/LunarVim/Neovim-from-scratch.git ~/.config/nvim
```

Run `nvim` in your terminal and wait for the plugins to be installed. You will notice treesitter pulling in a bunch of language parsers the next time you open Neovim.

**NOTE** [Mason](https://github.com/williamboman/mason.nvim) is used to install and manage LSP servers, DAP servers, linters, and formatters via the `:Mason` command.

This config assumes that you have Nerd Fonts v3.0.0 or higher. If you are using an older version then please update your [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) otherwise there will be missing or wrong glyphs

## Get healthy

Open `nvim` and enter the following:

```
:checkhealth
```

You'll probably notice you don't have support for copy/paste also that python and node haven't been setup

So let's fix that

First we'll fix copy/paste

- On mac `pbcopy` should be builtin

- On Ubuntu

```
sudo apt install xsel
```

- On Arch Linux

```
sudo pacman -S xsel
```

- Wayland users

[wl-clipboard](https://github.com/bugaevc/wl-clipboard)

Next we need to install python support (node is optional)

- Neovim python support

```
pip install pynvim
```

- Neovim node support

```
npm i -g neovim
```
---

**NOTE** make sure you have [node](https://nodejs.org/en/) installed, I recommend a node manager like [fnm](https://github.com/Schniz/fnm).

### Upgrade to Neovim v0.9

Assuming you [built from source](https://github.com/neovim/neovim/wiki/Building-Neovim#quick-start), `cd` into the folder where you cloned `neovim` and run the following commands.
```
git pull
git checkout release-0.9
make distclean && make CMAKE_BUILD_TYPE=Release
sudo make install
nvim -v
```

> The computing scientist's main challenge is not to get confused by the complexities of his own making.

\- Edsger W. Dijkstra