Battle-tested vim/neovim setup. One command. Any machine.
A cross-platform installer for a production-grade vim and neovim configuration — session management, fuzzy finding, LSP-ready, GitHub Copilot, and full vim/nvim key-binding parity. Built for developers who live in the terminal.
bash <(curl -fsSL https://raw.githubusercontent.com/hyperdrift-io/nvim-config/main/install.sh)| Feature | Plugin |
|---|---|
| Session picker with favourites, rename, delete | persisted.nvim + custom telescope picker |
| Fuzzy file/buffer/grep search | telescope.nvim + fzf.vim |
| Completion + snippets | nvim-cmp + LuaSnip |
| GitHub Copilot | copilot.vim |
| Git UI | vim-fugitive + neogit + diffview |
| Status bar | vim-airline |
| Undo history tree | vim-mundo |
| Auto-pairs, surround, easy-align | tpope suite |
| Feature | Mechanism |
|---|---|
| Session management | Built-in vimscript (SessionOpen, SessionSave, SessionDelete) |
| Plugin management | vim-plug |
| Completion | nvim-cmp equivalent via neocomplete |
| Fuzzy finding | fzf.vim |
| Key | Action |
|---|---|
\so |
Open session picker |
\ss |
Save current session |
\sd |
Delete current session |
\sq |
Save session and quit |
\f |
Fuzzy file search |
\g |
Live grep |
\b |
Buffer explorer |
jj |
Exit insert mode |
# Neovim only (default)
./install.sh
# Vim only
./install.sh --vim
# Both vim and neovim
./install.sh --both
# Server/remote mode — skips GUI plugins, Copilot, fonts
./install.sh --remote
# Non-interactive (CI, scripted setup)
./install.sh --yes
# Preview only — nothing is written
./install.sh --dry-run| OS | Vim | Neovim |
|---|---|---|
| macOS (Homebrew) | ✓ | ✓ |
| Ubuntu / Debian | ✓ | ✓ (snap if available) |
| Fedora / RHEL / Rocky | ✓ | ✓ |
| Alpine Linux | ✓ | ✓ |
| Arch / Manjaro | ✓ | ✓ |
Opening nvim without arguments launches a telescope session picker automatically:
<CR>— load sessions— save / update selected sessionS— save as new namer— rename sessiond— delete session (with confirmation)f— toggle favourite (★ pinned to top)R— refresh list
Sessions are sorted: favourites first, then most recently modified.
The --remote flag is optimised for bastion hosts and remote servers:
- Skips Copilot (requires internet + auth)
- Skips GUI-dependent plugins (Powerline fonts)
- Minimal plugin set — fast startup
# One-liner for a fresh server
bash <(curl -fsSL https://raw.githubusercontent.com/hyperdrift-io/nvim-config/main/install.sh) --remote --yesIf you use yannvr/dotfiles, nvim-config is included as a submodule and wired into the main installer automatically.
git clone --recurse-submodules https://github.com/yannvr/dotfiles ~/dotfiles
cd ~/dotfiles && ./install.shnvim-config/
├── install.sh # cross-platform installer
├── test/
│ ├── test-install-macos.sh
│ └── test-install-linux.sh
├── vim/ # vim config files (symlinked from dotfiles)
│ ├── .vimrc
│ ├── .vimrc.conf.base
│ ├── .vimrc.conf
│ ├── .vimrc.maps
│ ├── .vimrc.plugin
│ └── .vimrc.filetypes
└── nvim/ # neovim config (symlinked from dotfiles)
├── init.lua
└── lua/
├── plugins/init.lua
└── sessions/picker.lua
git≥ 2.20curl(for vim-plug bootstrap)- macOS: Homebrew
- Linux:
apt,dnf,apk, orpacman
Part of the Hyperdrift toolchain. Installer built with typerx — Python scripting on steroids.