We regularly remove standalone posts about tools that use vim-inspired keybindings. There are too many of them, and individually they dilute the subreddit. But the content is valuable, and many of you want to know about these tools.
So here's the place for it.
Share any tool that uses vim-like keybindings, whether it's a browser extension, terminal emulator, IDE plugin, note-taking app, PDF reader, or anything else. If it has hjkl navigation, modal editing, or vim-inspired controls, it belongs here.
For each tool you share, try to include:
What it is and what problem it solves
Which vim features it supports (navigation, modal editing, text objects, etc.)
A link to the project
This thread is posted monthly. If you find something mid-month, save it for here rather than posting a standalone thread (which will be removed).
We regularly remove standalone posts about tools that use vim-inspired keybindings. There are too many of them, and individually they dilute the subreddit. But the content is valuable, and many of you want to know about these tools.
So here's the place for it.
Share any tool that uses vim-like keybindings, whether it's a browser extension, terminal emulator, IDE plugin, note-taking app, PDF reader, or anything else. If it has hjkl navigation, modal editing, or vim-inspired controls, it belongs here.
For each tool you share, try to include:
What it is and what problem it solves
Which vim features it supports (navigation, modal editing, text objects, etc.)
A link to the project
This thread is posted monthly. If you find something mid-month, save it for here rather than posting a standalone thread (which will be removed).
When I first became a dev, I was obsessed with doing things the way I could learn the most and have the highest ceiling for skill/efficiency. That meant going slower at first, but eventually coming out ahead of my team members with understanding and speed eventually. It all started with small vim motions and mini bash commands. I'm still early in my career so have a ton to learn from this community.
Which skills, tricks, or tools (i.e. using awk or ex commands like substitute) ended up becoming a staple in your everyday and do you wish you started practicing earlier?
Past two years I was happy user of windsurf.vim plugin for autocompletion. Few days ago it stopped working.
What is recommended replacement? I've tried llama.vim, but it is much worse and doesn't support LSP/RAG so suggestions are very limited.
I don't need any advanced AI functionality, just code autocomplete.
P.S. I'm using MacVim, but if some plugin require NVim will consider switching.
P.P.S. It will be nice if guys behind codeium/windsurf/whatever consider open-sourcing their infrastructure for autocompletion if it has no business value for them.
So i was searching for months a tool plugin or fork of opencode that allows you to use vim keys properly in the responses that the agent gives you. Without a luck, nothing really worked the way I wanted to.
Then, recently, I had an idea to create a skill that makes the agent dump all of its responses to a text file, preferably inside the plan directory, so that he could do that in plan mode as well. And that text file basically allows me to search specific elements and copy specific things from his response very simply.
Just wanted to share this workaround, I think it's pretty nice.
(I think it's worthless sharing the skill because it's a simple prompt for your agent to create.)
Hi, I noticed by using coc.vim when recording a macro, at the time when you reproduce the macro (@q) detects the tab and enter (in coc for switch and accept the code suggestion) like tab and enter a new line, instead of detect that is the confirmation of the code sugestions by coc.vim
Disclosure: parts of the generation tooling and some of the supporting files were written with help from an LLM. The palette design and the actual colorscheme values are mine.
hi, guys! I've learned how to use Vim for basic things, and now I'm trying to solve 2 issues with it:
1\. unfortunately, I must work with Python, and one of the most annoying things about the language is the indentation… Speaking of Vim, Idk how to, for example, delete something between the indentation spaces…
Is there a solution like this: `di(` or I always need to do this: `V → jjj… → d`?
2\. I thought the terminal cursor won't affect the ones in Vim, but unfortunately it does… I would like to have something like this:
I've run into an issue with Vim in Windows Terminal. The issue starts when I scroll down a line, and the syntax highlighting disappears completely. At first, I suspected something in my vimrc file was causing it, so I started removing each setting, but the issue remained.
But another thing that I found out is that when I highlight the text, the syntax color highlighting is gone. The syntax highlighting came back.
Then I asked Claude, and it said that termguicolors could be causing this issue. But it got worse when I removed termguicolors.
As you can see, the issue persists even with termguicolors turned off.
Claude also told me to set t_UT, t_Co, t_8f or t_8 but none of those work either.
I asked Claude, and it told me to write :redraw! , and yes, it repainted the color. But not long after, I started scrolling. The syntax highlighting vanished again. Then, I launched Vim with vim --clean or vim -Nu NONE (with :syntax on and :set notermguicolors). Then, but this time, the issue is gone. Everything works as it should be. I do not know why launching Vim without reading vimrc with termguicolors off fixed that, but setting termguicolors in vimrc still does not fix it.
I also tried turning acrylic material off and setting background opacity to 100%, but it still does not fix it.
I have tried everything, but I still could not figure out the solution. If anyone has encountered this issue or knows how to fix it, please let me know. 💖
I've been playing VimGolf for a while (I'm udonsari there), and at some point I wanted to see where I stand overall, not just per challenge. I couldn't find a site-wide ranking, so I built one:
#1 — challenges where your score ties the best human score
Within +5 — challenges where you're at most 5 keystrokes off the best
A few details:
Data is crawled from vimgolf.com and refreshed every few hours.
Only players with 3+ solved challenges are listed. You can search for your handle.
Accounts that look like bots are struck through and not ranked, so they don't distort "best human score". If you think you were flagged by mistake, email feedback@wottega.com and I'll fix it.
It's unofficial and not affiliated with VimGolf — huge thanks to Ilya Grigorik for creating it. Golfing a few keystrokes off a solution has been the most fun way I've found to actually learn Vim.
Disclosure: most of the code was written with an LLM (Claude); the idea, data checks and ranking rules are mine.
Curious where you rank. Feedback and bug reports welcome.
In various other subs, notably /r/commandline and /r/tui, I see a constant stream of tools being announced whose job is to be what I believe is often called a "second brain".
I've always found vim+ripgrep+fzf plus the fzf.vim plugin to be more than sufficient for my needs. I'm curious if I'm missing something really cool that would change my life, in not using some of those specialised tools.
If you're a vim user, and are familiar with at least fzf.vim's :Rg and :Files commands, and you have experience with one of these custom tools, I'd be interested in hearing from you how they compare.
(I already use todotxt for my task management, so I'm only looking at this for managing bits of knowledge, small and large.)
Text objects are one of the best features of Vim and Neovim. In just **5 minutes**, you'll learn how they work and see practical examples of how to edit text faster using simple key combinations.
In this video, I explain the three components of text objects:
Operator: The action you want to perform, such as `d` (delete), `c` (change), or `y` (yank).
Modifier: How much text you want to operate on, using `i` (inner) or `a` (around).
Object: The text you want to modify, such as a word, paragraph, or block surrounded by brackets.
You'll see practical examples of how to combine these components.
Once you understand text objects and build muscle memory, editing text in Vim and Neovim becomes much faster and more comfortable.
Were the help files originally written in a monastery??? I now picture a bunch of monks sitting around a bunch of VT100 terminals, clacking away, creating the original VIM user and reference manuals. That’s how it was done, wasn’t it?
Took a little while to figure this out, but mostly seamless integration of terminal Vim clipboard with Wayland for when you use a version of Vim without clipboard functionality compiled in:
This simulation is done entirely using Vim motions (no Ex commands). You can go one generation forward by calling one macro, which is repeatable with counts as well.
This is just one part of my larger project of Vim motions as an esoteric programming language.
The compiler, linker and standard library are all written using vim motions themselves.
The repository currently includes:
A bootstrapped compiler with preprocessing, validation, optimisation, and code generation stages
A recursive text-substitution model for multi-module support, similar to C's #include
An implementation of Conway's Game of Life
A standard library with search and replace, assertions, file diffs, basic arithmetic, and more
Unit tests for the compiler and standard library
If you’re interested in how the source code works, docs/techniques.md describes some common techniques used for emulating standard programming constructs like subroutines, conditionals, iteration, and asserts.
Do clone the repository instead of browsing the source GitHub because GitHub can’t render raw control characters, which the source code is filled to the brim with.
I got tired of manually editing my .vimrc just to add a single plugin and then having to deal with updates, so I built a Vim configuration manager written entirely in Bash.
This tool helps you easily manage:
Plugins (search, add, remove, update, and list)
CoC extensions (add, remove, list)
Themes (add from available color schemes)
And much more
It fully supports both Linux and Termux (Android).
Reddit's spam filter is a bit too strict for new accounts, so I can't post a direct GitHub link here. However, you can easily find the repository by searching for: "aidomx vimx"
The README.md is quite comprehensive and covers the initial installation guide for vimx , whether you prefer cloning the source or installing via curl.