Understanding the init.lua
The init.lua file in the root directory of nii-nvim is going to be the basic entry-point for basic modifications of the default configuration. Most of the core modules are loaded in the init.lua file, along with setting initialization and theme setting.
In general, the init will usually have all of the relevant
require()s and reference the
scheme library for theme setting.
Generally, you probably won't want to be adding code in the init file, as its main purpose is to require any needed modules for startup.
However, quick code testing here might prove useful, as you don't need to keep track of a extra file and require.
Adding New Plugins
Adding in plugins is a trivial task, however, this base configuration has some basic organization rules that (I would hope) that you would replicate If you want to add a plugin, these are the basic steps that nii-nvim takes.
Plugins to install with packer are defined in the
lua/plug.lua file so add your plug to the file. (In this case we will be installing presence.nvim)
Next you will want to create the configuration file for initialization of the plugin.
- Plugin config files are made in the
- Make a file
lua/config/presence.luandn write all the code for the plugin to startup as desired.
- Lastly, require the file in the
If you want to change or add custom keybinds for nvim, all keybinds are defined in the file
To add a custom keybind, insert the following into
(for example we will make a keybind that replaces all
... -- map() is a wrapper function for setting keybinds with nvim's lua api -- Arg1 specifies the mode of the keybind (similar to imap, nmap, etc.) -- Arg2 is the actual keybind -- Arg3 is the command to execute -- Arg4 is for aany extra options (noremap and silent are true by default) -- you can also pass in an empty table or the opt var if you don't want any options. map("n", "<leader>s", ":%s/\"/\'/g\'", opts) ...
Changing the colorscheme
By default, nii-nvim (should) be using the onedark colorscheme for both nvim and lualine, however, if you want to change the theme, you can do that pretty easily in your
init.lua there should be a line:
This is the code that sets the colorscheme configuration for both nvim and lualine. There are a multitude of popular themes included with nii-nvim, with a complete list being: Text Editor:
- Night Owl
- Night Owl
- Custom (Boilerplate code)
To define a separate text editor theme and lualine theme, you can use the following:
nii-nvim handles colorschemes in a different manner than most normal configurations, as loading is handled by the scheme module. All theme loading files are defined in
lua/themes/. To add a theme (whether installed via plugin or custom) crate a file in the themes folder, then add all required code for the theme so load:
You can also create custom statusline themes by taking the boilerplate code in
lua/themes/lualine/custom.lua and create your own statusline theme.
- NOTE: The scheme loading functions directly depend on the filename, so when specifying a theme, make sure that you use the filename when you use scheme functions.