A modern, batteries-included Neovim configuration for web development, paired with a beautiful Alacritty terminal setup.
✨ Fast, modular, and designed for productivity!
- Neovim 0.11+
Install Neovim - Node.js (v18+)
Install Node.js - Rust nightly (for some plugins)
Install Rust - Nerd Font (e.g. JetBrainsMono Nerd Font)
- Alacritty Terminal
Install Alacritty - Optional: Ripgrep, fd, fzf, lazygit
- Use your package manager for all dependencies.
- Example for Homebrew (macOS):
brew install neovim node alacritty ripgrep fd fzf lazygit
- Follow instructions, make sure to install Nightly
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Clone this repo:
git clone https://github.com/Pouiiro/PouiiT-Files ~/.config
-
Symlink or copy the configs:
ln -s ~/.config/nvim ~/.config/nvim ln -s ~/.config/alacritty ~/.config/alacritty
-
Install plugins:
- Open Neovim and plugins will auto-install via lazy.nvim.
- On first run, wait for Treesitter to finish installing parsers (watch the status line).
- Run
:Mason
to install LSP servers, formatters, and linters as needed.
-
Set your terminal font to JetBrainsMono Nerd Font (or another Nerd Font).
- ⚡ LSP: Autocompletion, diagnostics, code actions for JS/TS, HTML, CSS, GraphQL, Lua, etc.
- 🧹 Formatting & Linting: Prettier, Biome, ESLint, shfmt, etc.
- 🤖 Copilot & Copilot Chat: AI code suggestions and chat (with custom prompts).
- 🎨 UI: Tokyo Night & Catppuccin themes, Noice, Lualine, Flash, Treesitter, NvimTree, etc.
- 🌈 Tailwind: Color highlighting, folding, tools for Tailwind CSS.
- 📝 Markdown: Live preview, enhanced rendering.
- 🖥️ Alacritty: Transparent, themed, fast, with custom keybindings.
Keymap | Action |
---|---|
<C-x> |
Show diagnostics float |
<C-f> |
Code actions (LSP) |
<C-h> |
Hover docs (LSP) |
<C-j> |
Signature help (LSP) |
<Tab> /<S-Tab> |
Next/previous buffer |
<leader>e |
Toggle file explorer (NvimTree) |
<leader>f |
Format buffer |
<leader>cc... |
Copilot Chat actions (see below) |
s |
Flash jump (search/jump) |
S |
Flash Treesitter jump |
<leader>sa |
Snacks: all pickers |
<leader>ccp
— Prompt actions<leader>cce
— Explain code<leader>cct
— Generate tests<leader>ccr
— Review code<leader>ccv
— Toggle Copilot Chat (vertical split)<leader>cci
— Ask Copilot (input)<leader>ccm
— Generate commit message
- Run TypeScript compiler:
:TSC
or<leader>X
- Show diagnostics:
<leader>x
- Rename variable (LSP):
<space>rn
- Format file:
<leader>f
- Open Copilot Chat:
<leader>ccv
or<leader>ccp
for prompt actions - Jump to any word/char (Flash):
<leader>s
then type the target - Jump to syntax node (Flash Treesitter):
<leader>S
then select node - Toggle file explorer (NvimTree):
<leader>e
- Transparent background, Tokyo Night theme
- Font: JetBrainsMono Nerd Font
- Custom keybindings for copy/paste (Ctrl+C/V)
- See
alacritty/alacritty.toml
andalacritty/alacritty.window.toml
for details
- 🚦 Wait for Treesitter to finish installing on first launch!
- 🧩 Use
:Mason
to install/manage LSP servers and tools. - 📚 Use
:Tutor
to learn basic Vim/Neovim motions. - 🔍 Use
<space>sh
to search Neovim help. - 🧑🔧 Explore
:Lazy
for plugin management. - 🛠️ Check
lua/keymaps.lua
for all custom keymaps. - 🩺 For troubleshooting, use
:checkhealth
.
- Open Neovim and run:
:Lazy update
Feel free to fork and adapt for your own workflow! PRs and suggestions welcome.
- Use Karabiner Elements to remap your CapsLock key:
- CapsLock → Esc (when pressed alone)
- CapsLock → Ctrl (when held with another key)
- CapsLock → CapsLock (when pressed with Shift)
- The config is included:
karabiner/karabiner.json
- Use AutoHotkey to get similar keybindings.
- Script included:
autohotkey/nvim_bindings.ahk