A fun fork of kickstart.nvim by MillerApps.
Yoink.nvim is a multi-file configuration inspired by the original kickstart.nvim. It maintains the original goal of offering a teaching tool and reference config, but in a more modular and maintainable structure.
Note
Default Neovim config paths:
| OS | Path |
|---|---|
| Linux, MacOS | $XDG_CONFIG_HOME/nvim, ~/.config/nvim |
| Windows (cmd) | %userprofile%\AppData\Local\nvim\ |
| Windows (PowerShell) | $env:USERPROFILE\AppData\Local\nvim\ |
Forking the repo ensures you have a personal copy to modify at will. See [GitHub docs on forking][gh-fork-docs].
Replace MillerApps/kickstart.nvim with your fork URL if you fork the repo.
Q: I already have a Neovim config. What do I do?
A: Back up your existing config, then remove it:
mv ~/.config/nvim ~/.config/nvim.old
rm -rf ~/.local/share/nvim/Q: Can I use multiple Neovim configs?
A: Yes! Set
$NVIM_APPNAME. For example:
alias nvim-Yoink='NVIM_APPNAME="nvim-Yoink" nvim'When you run nvim-Yoink, it will use ~/.config/nvim-Yoink and ~/.local/share/nvim-Yoink.
Install requires Neovim 0.9+. Always review the code before installing a configuration.
Clone the repository and install the plugins:
git clone git@github.com:MillerApps/yoink.nvim ~/.config/MillerApps/yoink.nvimOpen Neovim with this config:
NVIM_APPNAME=MillerApps/yoink.nvim/ nvim| Key | Mode | Action |
|---|---|---|
<Space> |
N | Leader key |
<Esc> |
N | Clear search highlighting |
<C-s> |
N | Save file |
<C-x> |
N | Save and quit |
<C-q> |
N | Quit all |
<C-h/j/k/l> |
N | Navigate windows |
<C-Arrow> |
N | Resize windows |
< / > |
V | Indent and keep selection |
J / K |
X | Move selected text down/up |
| Key | Action |
|---|---|
<leader>sh |
Search Help |
<leader>sk |
Search Keymaps |
<leader>sf |
Search Files |
<leader>ss |
Search Telescope pickers |
<leader>sw |
Search current Word |
<leader>sg |
Search by Grep |
<leader>sd |
Search Diagnostics |
<leader>sr |
Search Resume |
<leader>s. |
Search Recent Files |
<leader><leader> |
Find existing buffers |
<leader>/ |
Fuzzy search in current buffer |
<leader>s/ |
Live grep in open files |
<leader>sn |
Search Neovim config files |
| Key | Action |
|---|---|
gd |
Go to Definition |
gr |
Go to References |
gI |
Go to Implementation |
gD |
Go to Declaration |
K |
Hover Documentation |
<leader>D |
Type Definition |
<leader>rn |
Rename |
<leader>ca |
Code Action |
<leader>ds |
Document Symbols |
<leader>ws |
Workspace Symbols |
<leader>f |
Format code |
| Key | Action |
|---|---|
<leader>ee |
Show diagnostic float |
<leader>q |
Open diagnostic quickfix |
[d / ]d |
Previous/Next diagnostic |
| Key | Action |
|---|---|
<C-f> |
Toggle file tree |
<leader>nt |
Focus file tree |
<leader>nf |
Find current file |
| Key | Action |
|---|---|
<A-,> / <A-.> |
Previous/Next buffer |
<A-<> / <A->> |
Move buffer left/right |
<A-1-9> |
Go to buffer 1-9 |
<A-0> |
Go to last buffer |
<A-p> |
Pin buffer |
<A-q> |
Close buffer |
<C-p> |
Pick buffer |
<leader>bb |
Sort by buffer number |
<leader>bd |
Sort by directory |
<leader>bl |
Sort by language |
| Key | Action |
|---|---|
<leader>gb |
Toggle git blame |
<leader>gs |
Stage hunk |
<leader>gr |
Reset hunk |
<leader>gp |
Preview hunk |
[g / ]g |
Previous/Next hunk |
| Key | Action |
|---|---|
<leader>gg |
Open Lazygit |
<leader>gl |
Lazygit log (cwd) |
<leader>gf |
Lazygit file history |
<leader>gB |
Git browse (open in browser) |
| Key | Action |
|---|---|
<leader>bt |
Toggle breakpoint |
<leader>bC |
Conditional breakpoint |
<leader>bc |
Continue |
<leader>bx |
Terminate |
<leader>bo |
Step over |
<leader>bi |
Step into |
<leader>bu |
Step out |
<leader>br |
Restart |
<leader>bv |
Evaluate expression |
| Key | Action |
|---|---|
sa |
Add surround |
sd |
Delete surround |
sr |
Replace surround |
sh |
Highlight surround |
gS |
Toggle split/join |
<leader>bd |
Delete buffer (mini.bufremove) |
<M-h/j/k/l> |
Move lines/selection |
| Key | Action |
|---|---|
<C-space> |
Init/increment selection |
<C-s> |
Scope incremental |
<C-backspace> |
Decrement selection |
af / if |
Select around/inside function |
ac / ic |
Select around/inside class |
]m / [m |
Next/Previous function start |
]] / [[ |
Next/Previous class start |
| Key | Action |
|---|---|
<A-t> |
Toggle terminal |
<Esc> |
Exit terminal mode |
<C-h/j/k/l> |
Navigate from terminal |
| Key | Action |
|---|---|
[q / ]q |
Previous/Next quickfix item |
<leader>qf |
Open quickfix |
<leader>qc |
Close quickfix |
| Key | Action |
|---|---|
<leader>l |
Open Lazy |
- echasnovski/mini.nvim (surround, pairs, comment, move, etc.)
- folke/snacks.nvim (dashboard)
- folke/noice.nvim
- rcarriga/nvim-notify
- folke/snacks.nvim (terminal, git, dim, scroll, words, etc.)
Configured LSP servers via Mason:
- bashls (Bash)
- lua_ls (Lua)
- rust_analyzer (Rust)
- gopls (Go)
- pyright (Python)
Configured via Mason:
- stylua (Lua)
- prettierd (JS/TS/HTML/CSS/JSON)
- ruff (Python)
- shfmt (Shell)
- yamlfmt (YAML)
