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.