Neovim
Effective Neovim: Instant IDE
Section titled “Effective Neovim: Instant IDE”Set up Configuration
Section titled “Set up Configuration”# Create directorymkdir -p ~/.config/nvim
# Get starter nvim config from https://github.com/nvim-lua/kickstart.nvimcd ~/.config/nvimcurl -O https://raw.githubusercontent.com/nvim-lua/kickstart.nvim/master/init.lua
# On any OS, locate the configuration directory used for nvim with:echo stdpath('config')# e.g. on Windows it is %AppData%/Local/nvim
Read through init.lua to understand installed packages and keymaps
LazyVim - Neovim Configuration
Section titled “LazyVim - Neovim Configuration”Source: LazyVim From Scratch To BEAST MODE
Goal is set up Neovim with LazyVim distribution for common editing tasks to start use with computer programming languages.
- Follow LazyVim Install instructions and its documentation for description of its files and usage.
- On first run of
nvim
, plugins and configurations will be set up - Recommend to look through key mappings. You can search key mappings to discover them and their functions with leader + s + k.
Astrovim - Neovim configuration
Section titled “Astrovim - Neovim configuration”- Install using Getting Started section of Astronvim Documentation.
- Can install plugins using
lazy.nvim such as putting single
lua files per plugin to plugins directory, for example, for
orgmode add
orgmode.lua
to plugins directory with block in orgmode install instructions.
Use Astrovim with existing nvim configuration:
git clone --depth 1 https://github.com/AstroNvim/template ~/.config/astronvim# Set nvim configuration to useexport NVIM_APPNAME='astronvim'nvim
git clone --depth 1 https://github.com/AstroNvim/template $env:LOCALAPPDATA\astronvim# Set nvim configuration to use$env:NVIM_APPNAME = "astronvim"nvim
Enabling NvChad/menu in lazyvim
Section titled “Enabling NvChad/menu in lazyvim”-- mouse users + nvimtree users!vim.keymap.set("n", "<RightMouse>", function() vim.cmd.exec('"normal! \\<RightMouse>"')
local options = vim.bo.ft == "NvimTree" and "nvimtree" or "default" require("menu").open(options, { mouse = true })end, {})
return { { { "nvchad/volt", lazy = true }, { "nvchad/menu", config = function() local options = "default" -- Load default menus local opts = { mouse = true, border = false } require("menu").open(options, opts) end, -- opts = { mouse = true, border = false }, -- config = function() -- require("menu").open("menu", { mouse = true, border = false }) -- end, lazy = true, }, },}
See Also
Section titled “See Also”- Neovim Shortcuts - Neovim Shortcuts
- Neovim Language Server Protocol (LSP) - Neovim Language Server Protocol (LSP)
- Neovim Language Support - Neovim Language Support
- Neovim and Artificial Intelligence
- Neovim Debugging - Neovim Debugging