https://github.com/KnightChaser/nvim-dotfile-v1
My custom neovim configuration based on LazyVim plugin manager
https://github.com/KnightChaser/nvim-dotfile-v1
neovim-configuration
Last synced: 11 months ago
JSON representation
My custom neovim configuration based on LazyVim plugin manager
- Host: GitHub
- URL: https://github.com/KnightChaser/nvim-dotfile-v1
- Owner: KnightChaser
- Created: 2024-10-31T05:29:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-25T00:08:45.000Z (over 1 year ago)
- Last Synced: 2024-11-25T01:18:26.496Z (over 1 year ago)
- Topics: neovim-configuration
- Language: Lua
- Homepage:
- Size: 95.7 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# `nvim-dotfile-v1` (previously `myCustomLazyVim`)
### This repository has been archived and no more maintained as I migrated my Neovim configuration toward [`nvim-dotfile-v2`](https://github.com/KnightChaser/nvim-dotfile-v2.git). `v1` is the configuration that I used since I first applied Neovim to my environment, so the inherent configuration was messy and unsustainable. So, I needed to do a fresh start.
### PREVIEW


### PROCEDURE
1. Using `bob`() package, Install the latest neovim(`nvim`) on your Ubuntu Linux(Installing `nightly` is encouraged).
If you already installed the neovim with the appropriate version, you can skip it
2. Backup the previous neovim configuration
```bash
# required
mv ~/.config/nvim{,.backup}
# optional but recommended
mv ~/.local/share/nvim{,.backup}
mv ~/.local/state/nvim{,.backup}
mv ~/.cache/nvim{,.backup}
```
3. Git clone this repository(`KnightChaser/myCustomLazyVim`) to the neovim configuration.
```bash
git clone https://github.com/KnightChaser/myCustomLazyVim ~/.config/nvim
```
4. Execute neovim(`nvim`). Hit `:Lazy sync` to synchronize the packages. After, the neovim will be ready to use!
### Note
1. Note that my setup includes some fancy icons as characters on the terminal, so it's required to install the **Nerd Fonts** font family at . Download any font you want among that font family, and set the font to your terminal.
2. This neovim configuration also has LSP(Language Server Protocol)-related setup.
For proper syntax highlighting and assistance(Intellisense), proper packages must be installed.
For example, if you want to use C language IntelliSense, required packages(`clangd` and `llvm` via `apt-get`) must be installed.
And, lua configuration(**`lua/plugins/mason.lua`**) must be adjusted. Basically, the file configuration is support C language(`clangd`) and Python(`pyright`).
Refer to for more information.
```lua
-- ~/.config/nvim/lua/plugins/mason.lua
return {
-- Mason: Manage external editor tooling (LSP servers, DAP servers, linters, and formatters)
{
"williamboman/mason.nvim",
config = function()
require("mason").setup()
end,
},
-- Mason-LSPConfig: Bridge between mason and lspconfig
{
"williamboman/mason-lspconfig.nvim",
dependencies = { "williamboman/mason.nvim" },
config = function()
require("mason-lspconfig").setup({
ensure_installed = { "clangd", "pyright" }, -- Added "pyright" here
})
end,
},
}
```
3. This setup also includes WakaTime extension. Visit for API key setup and more information.
If you don't use WakaTime, you can simply ignore this setup and nothing will be happened.
4. For Markdown linting, see `./lua/plugins/render-markdown.lua`(You can just delete it away if you don't want.). Basically, it aesthetically reformats and shows up the formatted Markdown documents on the console. First, you have to install `markdownlint-cli2` via `brew`(homebrew). Refer to the following codes for installation
```bash
# Install homebrew(brew)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install markdownlint-cli2
brew install markdownlint-cli2
```
5. Always importantly, don't forget to issue `:checkhealth` and `:Mason` command if you encountered some errors! Especially if you just installed system, there might be some missing packages such as `curl`. Major external dependencies such as `node.js` are listed in `.mise.toml`. Install mise() and manage external dependencies in a single shot.
6. Issue a command `:UpdateRemotePlugins` to update the remote plugins. It's required to update the plugins that include the remote plugins, such as `wilder.nvim`.