My personal neovim configuration
Used as a submodule in my main dotfiles repository
Document points of interest in config file structure
nvim/ // root
├─ lua/
│ ├─ core/ // main vim configs
│ ├─ plugins/
│ │ ├─ configs/ // plugin setup
│ │ ├─ utils/
├─ init.lua // entry point
- init.lua - loads in user options and handles basic flow
- autocommands.lua - creates autocommands and augroups
- keymaps.lua - user defined key mappings
- options.lua - user defined vim options
- plugins.lua - plugin install and setup
- init.lua - returns table of plugins to install
- setup.lua - include file for plugin configuration and setup
- configs/ - contains configuration and setup for plugins
- utils/ - contains utility functions not part of plugin setup
- Commenting out the
requires "core"
in the rootinit.lua
disables the configuration (same as using unconfigured Neovim) - Commenting out
requires "core.plugins"
incore/init.lua
disables user installed plugins - Individual plugins can be disabled by commenting out their requires lines in
plugins/setup.lua
- Note:
tpope/vim-sleuth
is an exception, it's not a Lua plugin and is loaded by the package manager
- Note:
- Plugins can be installed by adding a plugin's repo
[author]/[repo-name]
to the lua table inplugins/init.lua
Install nvim
and make
sudo pacman -S nvim make
If copy and paste doesn't work, install xsel
sudo pacman -S xsel
Open Neovim with the nvim
command
nvim
Plugins, language servers, and treesitter parsers should be installed when entering nvim
for the first time (may need a restart after installation is complete)