You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: My Neovim configuration for code editing.
4
+
draft: false
5
+
---
6
+
1
7
# Neovim
2
8
3
-
This guide will help you install [Neovim](https://neovim.io/) and plugins that I use.
4
-
I frequently work with terminals and I find [Vim](https://www.vim.org/) really
5
-
helpful when editing code and text without needing a GUI. However, I didn't
6
-
have the time and motivation to learn VimScript, but then I heard about Neovim.
7
-
I have some experience with Lua so I thought that I might give it a try, and
8
-
this is the result. Note that I am not an experienced Neovim (and Lua) user
9
-
so expect that there will be occasional bugs.
9
+
This guide will help you install [Neovim](https://neovim.io/) and plugins that I use. I frequently work with terminals and I find [Vim](https://www.vim.org/) really helpful when editing code and text without needing a GUI. However, I didn't have the time and motivation to learn VimScript, but then I heard about Neovim. I have some experience with Lua so I thought that I might give it a try, and this is the result. Note that I am not an experienced Neovim (and Lua) user so expect that there will be occasional bugs.
10
10
11
11
## Plugins List
12
12
13
-
- Code Completion
14
-
-[Comment.nvim](https://github.com/numToStr/Comment.nvim): Smart and powerful comment plugin for Neovim.
15
-
-[nvim-autopairs](https://github.com/windwp/nvim-autopairs): A super powerful autopair plugin for Neovim that supports multiple characters.
16
-
-[nvim-cmp](https://github.com/hrsh7th/nvim-cmp): A completion plugin for neovim coded in Lua.
17
-
-[cmp-buffer](https://github.com/hrsh7th/cmp-buffer): nvim-cmp source for buffer words.
18
-
-[cmp-cmdline](https://github.com/hrsh7th/cmp-cmdline): nvim-cmp source for cmdline.
19
-
-[cmp-git](https://github.com/petertriho/cmp-git): nvim-cmp source for git.
20
-
-[cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp): nvim-cmp source for neovim builtin LSP client.
21
-
-[cmp-nvim-lua](https://github.com/hrsh7th/cmp-nvim-lua): nvim-cmp source for nvim lua.
22
-
-[cmp-path](https://github.com/hrsh7th/cmp-path): nvim-cmp source for filesystem paths.
23
-
-[cmp_luasnip](https://github.com/saadparwaiz1/cmp_luasnip): nvim-cmp source for LuaSnip.
24
-
-[LuaSnip](https://github.com/L3MON4D3/LuaSnip): Snippet engine for Neovim written in Lua.
25
-
-[friendly-snippets](https://github.com/rafamadriz/friendly-snippets): Snippet collection for different programming languages.
26
-
-[nvim-surround](https://github.com/kylechui/nvim-surround): Add/change/delete surrounding delimiter pairs with ease.
27
-
- Debugging
28
-
-[mason-nvim-dap.nvim](https://github.com/jay-babu/mason-nvim-dap.nvim): mason.nvim and nvim-dap integration.
29
-
-[nvim-dap](https://github.com/mfussenegger/nvim-dap): Debug Adapter Protocol client implementation for Neovim.
30
-
-[nvim-dap-ui](https://github.com/rcarriga/nvim-dap-ui): A UI for nvim-dap.
31
-
-[nvim-dap-virtual-text](https://github.com/theHamsta/nvim-dap-virtual-text): Adds virtual text support to nvim-dap.
32
-
- File Explorer
33
-
-[nvim-tree](https://github.com/nvim-tree/nvim-tree.lua): File explorer tree
-[conform.nvim](https://github.com/stevearc/conform.nvim): Lightweight yet powerful formatter plugin for Neovim.
39
-
-[nvim-lint](https://github.com/mfussenegger/nvim-lint): An asynchronous linter plugin for Neovim complementary to the built-in Language Server Protocol support.
40
-
-[nvim-lspconfig](https://github.com/neovim/nvim-lspconfig): Language Server Protocol (LSP) configuration helper.
-[trouble.nvim](https://github.com/folke/trouble.nvim): Error and status line manager.
43
-
-[vim-illuminate](https://github.com/RRethy/vim-illuminate): Highlight all occurrences of words under cursor.
44
-
- Plugin Managers
45
-
-[lazy.nvim](https://github.com/folke/lazy.nvim): A modern plugin manager for Neovim.
46
-
-[mason.nvim](https://github.com/williamboman/mason.nvim): LSP/DAP servers, linters, and formatters.
47
-
-[mason-lspconfig.nvim](https://github.com/williamboman/mason-lspconfig.nvim): lspconfig integration for Mason.
48
-
-[mason-tool-installer.nvim](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim): Install and upgrade third party tools automatically.
49
-
- Proprietary Plugins[^4]
50
-
-[copilot.lua](https://github.com/zbirenbaum/copilot.lua): Fully featured & enhanced replacement for copilot.vim complete with API for interacting with Github Copilot.
51
-
- Quality-of-Life Plugins
52
-
-[gitignore.nvim](https://github.com/wintermute-cell/gitignore.nvim): A neovim plugin for generating .gitignore files.
53
-
- Theming and Visual Plugins
54
-
-[barbar.nvim](https://github.com/romgrk/barbar.nvim): Better tabs for Neovim.
55
-
-[catppuccin](https://github.com/catppuccin/nvim): A Neovim theme.
56
-
-[ccc.nvim](https://github.com/uga-rosa/ccc.nvim): Color picker and highlighter plugin for Neovim.
57
-
-[dressing.nvim](https://github.com/stevearc/dressing.nvim): A UI customization plugin.
58
-
-[gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim): Git Integration for buffers.
> The following plugins are added in addition to the base plugins:
36
+
>
37
+
> -[gitignore.nvim](https://github.com/wintermute-cell/gitignore.nvim): A neovim plugin for generating `.gitignore` files.
38
+
> -[lsp_lines.nvim](https://git.sr.ht/~whynothugo/lsp_lines.nvim): Show LSP diagnostics in a separate line.
39
+
> -[numb.nvim](https://github.com/nacro90/numb.nvim): Peek lines just when you intend.
40
+
> -[presence.nvim](https://github.com/andweeb/presence.nvim): [Discord](https://discord.com/) Rich Presence for Neovim.
41
+
> -[smartcolumn.nvim](https://github.com/m4xshen/smartcolumn.nvim): A Neovim plugin hiding your colorcolumn when unneeded.
42
+
> -[twilight.nvim](https://github.com/folke/twilight.nvim): Dim inactive portions of the code you're editing using TreeSitter.
43
+
> -[vim-arduino](https://github.com/stevearc/vim-arduino): Vim plugin for compiling and uploading arduino sketches.
44
+
> -[zen-mode.nvim](https://github.com/folke/zen-mode.nvim): Distraction-free coding for Neovim.
94
45
95
46
## Platform Compatibility
96
47
97
48
This setup has been tested on the following platforms:
98
49
99
-
- Arch Linux
50
+
-[[Arch Linux]]
100
51
- Kali Linux WSL
101
52
- Linux Mint 21
102
-
- Termux Android Terminal Emulator
53
+
-[[Termux]] Android Terminal Emulator
103
54
104
55
## Requirements
105
56
106
-
-[Neovim](https://neovim.io/) v0.9.0+
57
+
-[Neovim](https://neovim.io/) v0.9.2+
107
58
-[Git](https://git-scm.com/)
108
59
-[gcc](https://gcc.gnu.org/) or [clang](https://clang.llvm.org/)
109
60
-[make](https://www.gnu.org/software/make/)
@@ -113,54 +64,40 @@ This setup has been tested on the following platforms:
113
64
114
65
### Automatic Customization Guide
115
66
116
-
**NOTE**: This assumes that you are using APT as your package manager.
117
-
118
-
1. Update APT. `sudo apt update`
119
-
2. Install git. `sudo apt install git`
120
-
3. Install Neovim.
121
-
- Check if Neovim v0.9.0+ is available in your package manager. `$ apt show neovim`
122
-
- If version 0.9.0 above is available, install it. `$ apt install --upgrade neovim`
123
-
- Otherwise, download it from [their GitHub repository](https://github.com/neovim/neovim/releases/download/stable/nvim-linux64.deb) and install it. `$ dpkg -i nvim-linux64.deb`[^1]
124
-
4. Install requirements.
125
-
5. Run the installer.
126
-
- Using _wget_: `bash <(wget -q -O - https://raw.githubusercontent.com/SetupGuides/Neovim/main/install)`
127
-
- Using _curl_: `bash <(curl -sSf https://raw.githubusercontent.com/SetupGuides/Neovim/main/install)`
128
-
6. Run `nvim` and allow installation of plugins.
129
-
7. Check for errors by running `:checkhealth`.
130
-
8. Install LSPs, DAPs, and linters using Mason. `:Mason`
67
+
1. Install the [[#Requirements|requirements]].
68
+
2. Run the installer.
69
+
- Using _curl_: `bash <(curl -sSf https://raw.githubusercontent.com/Chris1320/SetupGuides-Neovim/main/install)`
70
+
- Using _wget_: `bash <(wget -q -O - https://raw.githubusercontent.com/Chris1320/SetupGuides-Neovim/main/install)`
71
+
3. Run `nvim` and wait for Lazy to install the plugins.
- Check if Neovim v0.9.0+ is available in your package manager. `$ apt show neovim`
137
-
- If version 0.9.0 above is available, install it. `$ apt install --upgrade neovim`
138
-
- Otherwise, download it from [their GitHub repository](https://github.com/neovim/neovim/releases/download/stable/nvim-linux64.deb) and install it. `$ dpkg -i nvim-linux64.deb`[^1]
139
-
3. Copy the contents of [src/](https://github.com/SetupGuides/Neovim/tree/main/src) to your `~/.config/nvim/`. The directory must look like this:
3. Copy the contents of [src/](https://github.com/Chris1320/SetupGuides-Neovim/tree/main/src) to your `~/.config/nvim/`. The directory must look like this:
5. Run `nvim`. lazy.nvim will now update, install, and compile the plugins.
160
-
6. To check if everything is installed correctly, enter `:checkhealth`.
161
-
7. Install LSP/DAP servers, linters, and formatters by running `:Mason` inside Neovim.[^3]
162
-
163
-
[^1]: To download and install using wget and dpkg: `wget -O ./nvim-linux64.deb https://github.com/neovim/neovim/releases/download/stable/nvim-linux64.deb && sudo dpkg -i ./nvim-linux64.deb`
164
-
[^2]: You can also install recommended but optional additional packages used by Telescope: `$ sudo apt install --upgrade fd-find ripgrep` (`fd-find` is `fd` on Termux systems.)
165
-
[^3]: Manual configuration is necessary for each LSP server, but I configured some of them in `src/lua/plugins/lsp.lua`.
166
-
[^4]: Proprietary plugins are optional to install.
102
+
4. Run `nvim`. lazy.nvim will now update, install, and compile the plugins.
103
+
5. To check if everything is installed correctly, enter `:checkhealth`.
Copy file name to clipboardExpand all lines: index.md
+3-2Lines changed: 3 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,6 @@
1
1
---
2
-
title: SetupGuides - This is how I customize my stuff.
2
+
title: Chris1320/SetupGuides
3
+
description: This is how I customize my stuff.
3
4
draft: false
4
5
---
5
6
@@ -27,7 +28,7 @@ This documentation is created using [Obsidian](https://obsidian.md/), but you sh
27
28
28
29
## Bug/Error Reporting
29
30
30
-
Only documentation errors should be reported in this repository. If you find a bug or an error in specific customization guides (e.g., a bug in one of the scripts in [[Arch Linux|Arch Linux Customization Guide]]), please submit an issue in its dedicated repository.
31
+
Only documentation errors should be reported in this repository. If you find a bug or an error in dotfiles/scripts of specific guides (e.g., [[Arch Linux]] customization guide), please submit an issue in its dedicated repository.
0 commit comments