wikibackup/neovim.md

104 lines
4.3 KiB
Markdown
Raw Normal View History

2025-02-20 07:43:03 +00:00
---
title: Neovim as an IDE
description: Introduction to Vim and NeoVim, Along with How to Use NeoVim Like Popular IDEs
published: true
date: 2025-02-13T07:54:40.067Z
tags: ide, vim, neovim, nvim
editor: markdown
dateCreated: 2025-02-08T12:49:56.181Z
---
# Vim/NeoVim
## Introduction
**Vim** is a powerful open-source text editor that has been developed since the 1990s. Designed as a command-line editor, it offers highly customizable and personalizable features.
**NeoVim** is a more modern version inspired by Vim, featuring better internal APIs and improved window management, making it a powerful tool for developers.
## Installation
### 1. **Vim**
Vim is pre-installed on many Linux distributions such as Parch. To install the latest version, you can run the following command:
```bash
sudo pacman -S vim
```
### 2. **NeoVim**
NeoVim is a more modern editor that can be easily installed with the following command:
```bash
sudo pacman -S neovim
```
> Neovim is installed under the name `neovim` but it can be run using `nvim`.
---
## Turning NeoVim into an IDE
NeoVim alone does not have all the tools necessary for developers, so by using available plugins, it can be transformed into an environment similar to existing IDEs. There are two main approaches for this.
### 1. **Pre-configured Configurations**
For users who want to quickly set up a powerful development environment, using pre-configured setups is the best option. Some of the most popular configurations include:
#### **AstroNvim**
AstroNvim is a beautiful and feature-rich Neovim configuration focused on efficiency and extensibility. To install it, follow the [official AstroNvim documentation](https://docs.astronvim.com/).
#### **NVChad**
NVChad is a popular Neovim configuration that allows users to easily customize it. To install it, follow the [official NVChad documentation](https://nvchad.com/docs/quickstart/install).
### 2. **Installing from Scratch**
To turn NeoVim into an IDE, you can install the necessary plugins one by one. This approach is suitable for users who want full control over their settings. For this, you need a plugin manager to manage other plugins. One of the most popular plugin managers is [lazy.nvim](https://www.lazyvim.org/).
#### Installing the `lazy.nvim` Plugin Manager:
1. To install lazy.nvim, clone it using Git:
```bash
git clone https://github.com/LazyVim/starter ~/.config/nvim
```
2. After installation, remove the `.git` folder:
```bash
rm -rf ~/.config/nvim/.git
```
3. You can run it using the `nvim` command. now you need to install some plugins. Some of the most commonly used plugins include:
- **LSP**: `nvim-lspconfig`
- **Autocompletion**: `nvim-cmp`
- **Project Manager**: `project.nvim`
- **File Explorer**: `nvim-tree.lua`
#### Sample Configuration:
```lua
require("lazy").setup({
{
"folke/tokyonight.nvim", -- Theme
lazy = false,
priority = 1000,
config = function()
vim.cmd([[colorscheme tokyonight]])
end,
},
"neovim/nvim-lspconfig", -- LSP
"hrsh7th/nvim-cmp", -- Autocompletion
"nvim-tree/nvim-tree.lua", -- File explorer
"mbbill/undotree", -- Undo history
})
```
> For installation using this method, you can follow the [official lazy.nvim documentation](https://www.lazyvim.org/).
{.is-info}
## NeoVide
[NeoVide](https://neovide.dev/) is a GUI for NeoVim that functions like a regular terminal but adds more features to NeoVim.
#### Features
- **Ligatures**: Support for ligatures and font shaping to improve code appearance.
- **Animated Cursor**: Cursor animations make it easier to track the cursor's position.
- **Smooth Scrolling**: Instead of line-by-line scrolling, pixel-by-pixel animations smooth the user experience.
- **Blurred Floating Windows**: Floating windows have blurred backgrounds for better separation from the main screen.
- **Emoji Support**: Displays emojis even if the main font doesn't include them.
#### Installation:
```bash
sudo pacman -S neovide
```
## Plugin Marketplace
Most likely, all the IDEs you've worked with before have had an official marketplace for installing plugins, but NeoVim does not have an official marketplace. To find plugins, you can search online for each plugin or browse unofficial resources. Below are some community-made lists of NeoVim plugins:
- https://github.com/rockerBOO/awesome-neovim
- https://neovimcraft.com/
- https://vimawesome.com/