A theme-driven, out-of-the-box modern configuration of neovim π
We developed a theme called HardHacker, which we thought was pretty and eye friendly, but we found that many neovim plugins have their own color scheme, so we made a neovim integration environment that matches the hardhacker theme.
- Session load and switch
- File explorer
- File find and search
- Terminal
- LSP
- Pretty Code highlighting, Colors highlighting
- Auto completion
- Languages
- Git integration
- Git diff view
- Pretty Tabline, Statusline, Winbar, Outline
- Starting screen
- Quick resize the window
- Zen mode
- Markdown Preview via your browser
- ...
- Neovim 0.8+
- Not required, but recommended
0οΈβ£ Backup your current nvim
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
1οΈβ£ Clone oh-my-nvim repo
git clone https://github.com/hardhackerlabs/oh-my-nvim.git ~/.config/nvim
2οΈβ£ Start nvim
in your terminal, then automatically install and setup all plugins
3οΈβ£ Restart nvim
and enjoy it π»
4οΈβ£ Keep updated
You should keep updated, it's great.
You can use git pull
to update it. If you've edited something, you may need to merge the content manually, just like a normal git operation.
Use command :LspInstall
to download and install a server, e.g. :LspInstall rust_analyzer
.
Use command :TSInstall
to download and install a parser, e.g. :TSInstall rust
.
~/.config/nvim/
βββ init.lua
βββ lazy-lock.json
βββ lua/
βββ plugins/
βΒ Β βββ ...
βββ languages/
βΒ Β βββ ...
βββ my_plugins/
βΒ Β βββ ...
βββ basic.lua
βββ custom.lua
βββ custom_keys.lua
βββ custom_opts.lua
βββ settings.lua
-
~/.config/nvim/lua/my_plugins/
You can put the plugins you want into the directory.
-
~/.config/nvim/lua/custom.lua
This file does not exist by default, you can create this file, then place some custom configuration logic, the custom.lua module will be loaded last.
π View the default shortcut settings
You can edit the default settings of the shortcut keys in this configuration file (~/.config/nvim/lua/custom_keys.lua
).
If you want to add your own plugins, you can create a plugin_name.lua
file in the directory ~/.config/nvim/lua/my_plugins
. Setup the plugins in this file.
The plugin configuration in the plugin_name.lua
file refers to the following template (lazy.nvim syntax):
return {
-- Your Plugin1
{
'hardhacker/plugin1',
config = function() ... end
},
-- Your Plugin2
{'hardhacker/plugin2'},
}
Some useful plugins are configured by default in the directory ~/.config/nvim/misc/recommended
,
but they are not loaded into neovim by default ,
so if you need them, you can copy them into the directory ~/.config/nvim/lua/my_plugins/
.
Example:
cp ~/.config/nvim/misc/recommended/markdown.lua ~/.config/nvim/lua/my_plugins/
π View all plugins integrated
Use lazy.nvim to manage plugins.