Hypervim is a modular and rice-friendly configuration written in Lua, that extends Neovim into a modern code editor with IDE-like features, while maintaining its speed.
Features • Installation • Keymaps
☄️ Showcase
✨ Features
💡 Linting, Completion and formatting with native LSP, nvim-cmp and null-ls🩺 Diagnostics and quickfixes with Trouble🔀 Git integration with gitsigns, diffview and Neogit⚙️ Pain-free management of LSP servers, formatters and DAG adapters with Mason✂️ Code snippets powered by LuaSnip📁 Simple file browsing with NvimTree🪟 Session management with auto-sessions and session-lens🌐 Live preview of md files with MarkdownPreview👁️ Global statusline and Winbar with lualine🤖 Copilot support with copilot.lua
🚀 Quickstart
Requirements
The following tools are required:
nvim
(v0.8.0+)node
(< v18.x.x if you use copilot),npm
,yarn
curl
ripgrep
gcc
orclang
make
unzip
Installation
Install Hypervim configuration with:
bash <(curl -s https://raw.githubusercontent.com/f1zm0/Hypervim/main/setup.sh)
This process may take a few minutes. The setup script will take care of:
- cloning the config to
~/.config/hvim
(so that your current neovim config is not overwritten) - installing Packer and the required plugins
- Creating a
hvim
launcher so you can runhvim
forHypervim
, and keepnvim
command for Neovim with standard or current config
Note Hypervim is alpha software. I'll do my best to keep the main branch as stable as possible and the documentation up-to-date, but this may not always be guaranteed at this stage.
⌨️ Keymaps
Below are some of the most important keymaps. For a more comprehensive list of core and plugin-specific keymaps check out defaults.lua
Leader key: ,
Basic Keymaps
🗺️
Function | Keymap |
---|---|
Close everything and exit | leaderq |
Sync packages | leaderps |
Delete buffer | leaderd |
Close window | leaderc |
Expand window | leaderz |
Open file explorer | leadere |
Navigation
🧭
Function | Keymap |
---|---|
Navigate to left window | Ctrlh |
Navigate to right window | Ctrll |
Navigate to top window | Ctrlk |
Navigate to bottom window | Ctrlj |
Horizontal split | \ |
Vertical split | | |
Next buffer | Tab |
Previous buffer | ShiftTab |
Telescope
🔭
Function | Keymap |
---|---|
Find files (fzf syntax) | leaderff |
Find buffers | leaderfb |
Find notifications | leaderfn |
Find with ripgrep | leaderfg |
Next result | Ctrln |
Previous result | Ctrlp |
Completion
✨
Function | Keymap |
---|---|
Open completion menu | CtrlSpace |
Next suggestion | Ctrln |
Previous suggestion | Ctrlp |
Accept suggestion | Enter |
LSP
⚙️
Function | Keymap |
---|---|
Go to definition | gd |
Go to declaration | gD |
Show references | gr |
Rename hovered item | rn |
Show info about hovered item | K |
Diagnostics
🩺
Function | Keymap |
---|---|
Toggle (trouble) diagnostics panel | leadertt |
Show error or warning at hovered line | T |
Toggle preview of hovered trouble item | P |
Open hovered trouble item in a new split | Ctrlx |
Open hovered trouble item in a new tab | Ctrlt |
Markdown
📜
Function | Keymap |
---|---|
:MarkdownPreview | leadermp |
:GenTOCGFM | leadermt |
🤖 Copilot support
When you want to start using Copiot, you first need to run :Copilot auth
command, and complete the authentication process.
For more info refer to the plugin documentation
🛠️ Troubleshooting
Markdown-Preview dependencies
If you run :MarkdownPreview
and get an error message saying that tslib
is not installed, you may need to install its dependencies manually, by going into ~/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim
and running yarn install
.
The issue is tracked here: iamcco/markdown-preview/issues/188
🤝 Contributing
Any kind of contribution is welcome.
If you have any suggestions, ideas or bug reports, please open an issue.
🙏 Acknowledgements
Big shout-out to the Neovim community and to the creators of the following projects that have inspired this configuration:
- LunarVim by Chris Chiarulli & contributors
- NvChad by siduck & contributors
- All plugins authors and contributors
📖 License
This project is licensed under the GPL 3.0 License - see the LICENSE file for details.