/Hypervim

modular configuration that extends Neovim into a modern code editor with IDE-like features

Primary LanguageLuaGNU General Public License v3.0GPL-3.0

Neovim Minimum Version project license
Issues project status follow on Twitter

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.

FeaturesInstallationKeymaps

☄️ Showcase

Features

🚀 Quickstart

Requirements

The following tools are required:

  • nvim (v0.8.0+)
  • node (< v18.x.x if you use copilot), npm, yarn
  • curl
  • ripgrep
  • gcc or clang
  • 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 run hvim for Hypervim, and keep nvim 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:

📖 License

This project is licensed under the GPL 3.0 License - see the LICENSE file for details.