Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/f1zm0/hypervim

modular configuration that extends Neovim into a modern code editor with IDE-like features
https://github.com/f1zm0/hypervim

dotfiles lua neovim neovim-config neovim-dotfiles rice ricing vim

Last synced: 8 days ago
JSON representation

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

Awesome Lists containing this project

README

        






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.


Features
Installation
Keymaps

## ☄️ Showcase














## ✨ Features

- 💡 Linting, Completion and formatting with [native LSP](https://neovim.io/doc/user/lsp.html), [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) and [null-ls](https://github.com/jose-elias-alvarez/null-ls.nvim)
- 🩺 Diagnostics and quickfixes with [Trouble](https://github.com/folke/trouble.nvim)
- 🔀 Git integration with [gitsigns](https://github.com/lewis6991/gitsigns.nvim), [diffview](https://github.com/indrets/diffview.nvim) and [Neogit](https://github.com/TimUntersberger/neogit)
- ⚙️ Pain-free management of LSP servers, formatters and DAG adapters with [Mason](https://github.com/williamboman/mason.nvim)
- ✂️ Code snippets powered by [LuaSnip](https://github.com/sirverL3MON4D3/LuaSnip)
- 📁 Simple file browsing with [NvimTree](https://github.com/nvim-tree/nvim-tree.lua)
- 🪟 Session management with [auto-sessions](https://github.com/rmagatti/auto-session) and [session-lens](https://github.com/rmagatti/session-lens)
- 🌐 Live preview of md files with [MarkdownPreview](https://github.com/iamcco/markdown-preview.nvim)
- 👁️ Global statusline and Winbar with [lualine](https://github.com/nvim-lualine/lualine.nvim)
- 🤖 Copilot support with [copilot.lua](https://github.com/zbirenbaum/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` or `clang`
- `make`
- `unzip`
- a [nerdfont](https://www.nerdfonts.com/font-downloads)

### Installation

Install Hypervim configuration with:

```sh
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](lua/hvim/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](https://github.com/zbirenbaum/copilot.lua)

## 🛠️ 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](https://github.com/iamcco/markdown-preview.nvim/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](https://github.com/LunarVim/LunarVim)
- [NvChad by siduck & contributors](https://github.com/NvChad/NvChad)
- All [plugins](lua/hvim/packer.lua#35) authors and contributors

## 📖 License

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