A theme-driven, out-of-the-box modern configuration of neovim (HardHackerNvim)๐
oh-my-nvim
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.
๐ฆ Features
- 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
- ...
๐ Preview

๐ Requirements
- Neovim 0.8+
- Not required, but recommended
๐ง Install
MacOS/Linux
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
โ๏ธ Update
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.
๐งฑ Languages
Install LSP Server
Use command :LspInstall to download and install a server, e.g. :LspInstall rust_analyzer.
Install TreeSitter Parser
Use command :TSInstall to download and install a parser, e.g. :TSInstall rust.
๐ Custom
๐ Configuration structure
~/.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/
- ~/.config/nvim/lua/custom.lua
โจ๏ธ Shortcut Keys
๐ 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).
๐ Add the plugins you want
If you want to add your own plugins, you can create a pluginname.lua file in the directory ~/.config/nvim/lua/myplugins. 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'}, }
๐ฏ Recommended plugins
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/
๐งฉ Plugins
๐ View all plugins integrated
Use lazy.nvim to manage plugins.