# Neovim-from-scratch **Repository Path**: dllvhaobo/Neovim-from-scratch ## Basic Information - **Project Name**: Neovim-from-scratch - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-24 - **Last Updated**: 2024-01-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## 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