-
Using
bob
(https://github.com/MordechaiHadad/bob) package, Install the latest neovim(nvim
) on your Ubuntu Linux(Installingnightly
is encouraged). If you already installed the neovim with the appropriate version, you can skip it -
Backup the previous neovim configuration
# required
mv ~/.config/nvim{,.backup}
# optional but recommended
mv ~/.local/share/nvim{,.backup}
mv ~/.local/state/nvim{,.backup}
mv ~/.cache/nvim{,.backup}
- Git clone this repository(
KnightChaser/myCustomLazyVim
) to the neovim configuration.
git clone https://github.com/KnightChaser/myCustomLazyVim ~/.config/nvim
- Execute neovim(
nvim
). Hit:Lazy sync
to synchronize the packages. After, the neovim will be ready to use!
-
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 https://www.nerdfonts.com/. Download any font you want among that font family, and set the font to your terminal.
-
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
andllvm
viaapt-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 https://github.com/neovim/nvim-lspconfig for more information.
-- ~/.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,
},
}
-
This setup also includes WakaTime extension. Visit https://wakatime.com/neovim for API key setup and more information. If you don't use WakaTime, you can simply ignore this setup and nothing will be happened.
-
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 installmarkdownlint-cli2
viabrew
(homebrew). Refer to the following codes for installation
# Install homebrew(brew)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install markdownlint-cli2
brew install markdownlint-cli2
-
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 ascurl
. Major external dependencies such asnode.js
are listed in.mise.toml
. Install mise(https://github.com/jdx/mise) and manage external dependencies in a single shot. -
Issue a command
:UpdateRemotePlugins
to update the remote plugins. It's required to update the plugins that include the remote plugins, such aswilder.nvim
.