r/vim • • 7d ago

Vim-adjacent Monthly Thread: Tools with Vim-like Keybindings

52 Upvotes

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).


r/vim • • Oct 08 '26

Vim-adjacent Monthly Thread: Tools with Vim-like Keybindings

24 Upvotes

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).


r/vim • • 2d ago

Discussion Using :g with :normal to bulk-fix Prometheus metric names across an exporter saved me from writing a sed script I'd have gotten wrong

7 Upvotes

I had to rename about 40 metrics in a custom exporter from camelCase to snake_case with a _total suffix on the counters, but only on lines that called NewCounterVec, not the gauges sitting right next to them. I ended up with :g/NewCounterVec/normal f"l and then a macro that did the case conversion with a few ~ and i_ steps. That let me eyeball each match with :g//p before committing, which I couldn't have done as safely with a regex replace. The thing that bit me was that :normal ignores my mappings unless I drop the bang, so the first run silently used my remapped f and did nothing useful. Curious whether people would reach for a substitute with \= and a function here instead, or if :g + :normal is the usual move for "structured but slightly irregular" edits like this.


r/vim • • 1d ago

Random I'm learning Vim, so I built an arcade game to train myself (free, browser, open source)

0 Upvotes

AI disclosure : most of the code was written with an LLM (Claude). I designed the levels and the Vim curriculum, and I tested them. Every level solution is also replayed automatically in CI.

I'm a sysadmin student and a Vim beginner. Most of the tools I tried felt like reading a manual, so I built a Vim trainer for myself.

Play in your browser: https://deafcatsteam.github.io/insert-coin-vim/

https://github.com/deafcatsteam/insert-coin-vim

Each level has a source text and a target, with the differences highlighted. You transform the source into the target using Vim keys. Any solution is valid. You get one star for finishing, two for reaching par, and three for matching the shortest solution I know. Key presses are counted like on VimGolf.

There are 59 levels in 12 chapters. They go from i, Esc and :wq to text objects, cgn, visual block, registers, macros, :g and :norm, and end with golf puzzles. 10 expert golf puzzles unlock once you finish the main game.

There is also a daily challenge where everyone plays the same level (no server), a spaced review for skipped levels, a speedrun mode per chapter, and Free Golf.

If you get stuck, there are two hints per level and a "Show solution" button. After each level, the game replays the reference solution key by key.

It works with any keyboard layout (I use AZERTY), and the UI is in 9 languages. No ads, no account, no tracking. It is free and open source (MIT).

One limit : it is not real Vim. It runs on CodeMirror 6 with its Vim mode, so some behaviors might differ.

Vim veterans, I need you. I'm still a beginner, so I can't fully judge my own levels. Do they teach good habits, or bad ones ? Is anything missing that you use every day ? And if you want a challenge, jump straight to chapter 11 (Golf), then the 10 expert puzzles it unlocks : I bet some of my "shortest" solutions can be beaten. Post your shorter solution in the comments and I'll add it to the game.

Beginners are welcome too : tell me where you got stuck. If you want to make your own levels, CONTRIBUTING.md explains how.

Thank you very much !


r/vim • • 2d ago

Discussion Vim Terminal vs Graphical in terms of resource usage

20 Upvotes

Hello, I've been using xed in Linux Mint as a C editor, and I've recently started using terminal vim instead to increase efficiency. It's really nice! I was wondering whether vim terminal used less resources than its gui counterpart. I'm assuming the answer is yes given vim & gvim would probably be mostly the same thing other than whatever graphical work gvim is doing. I use workspaces heavily with mint on a T530, so a lot of times I have multiple projects open and eventually the text editors add up. I think I'll just have to experiment, but does anyone have any experience in the difference between the two and how significant it is?

Update: Installed xfce4-terminal, using it with vim. has a little less memory usage compared to xed(26 mb vs 18 mb), but gvim & vim appear to literally be exactly the same. both 18mb. I've already kinda gotten used to terminal vim but i guess I can use gvim now too! I guess vim just has the advantage of not having as many dependencies and such. Also, I installed thunar and its much more responsive than nemo was. at this rate I'll have to consider reinstalling & switching to xfce entirely maybe, but if everything works then it works as a side note I'll probably also be using shell scripts to open my project windows to save time & thunar and also tmux


r/vim • • 3d ago

Need Help Help with macros and coc completion

3 Upvotes

Hi, I noticed by using coc.vim when recording a macro, you reproduce it (@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

Anyone have found a solution with this?


r/vim • • 4d ago

Discussion Road to becoming a Power User

73 Upvotes

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?


r/vim • • 4d ago

Need Help Autocompletion plugin (codevium replacement)

10 Upvotes

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.


r/vim • • 5d ago

Need Help┃Solved Can i make vim highlight custom types using regex?

3 Upvotes

i mean

struct Node {};

which should highlight the use of Node as a type

my friend showcased his emacs and it seems to do it without lsp semantic-highlighting and treesitter


r/vim • • 5d ago

Tips and Tricks Workaround for working in Opencode with vim

0 Upvotes

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.)


r/vim • • 13d ago

Plugin Orgmode LSP - Language server for Orgmode

Thumbnail
reddit.com
5 Upvotes

r/vim • • 15d ago

Color Scheme Greenit – a green-shifted terminal + Vim theme family (dark & light)

Post image
0 Upvotes

Made a Vim colorscheme where every neutral is hue-shifted toward green and every accent is a green derivative.

Two variants:

- greenit (dark)

- greenit-light

Palette lives in a single `palette.json` and gets turned into the .vim files + terminal configs.

Also has matching themes for Kitty, Alacritty, Ghostty, WezTerm, iTerm2, Windows Terminal and Termux if you want the full stack.

Repo: https://github.com/Mark44928/Greenit

WCAG AA on both variants.

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.


r/vim • • 18d ago

Need Help the Python indentation & terminal cursors issues in Vim

5 Upvotes

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:

the terminal cursor: `echo -ne "\e[5 q"`,

the vim cursor(INSERT): `echo -ne "\e[5 q"`,

the vim cursor: `echo -ne "\e[1 q"`.

Should I write something in `~/.vimrc`?


r/vim • • 18d ago

Need Help┃Solved Vim syntax colors disappear after scrolling in Windows Terminal (Vim 9.2)

3 Upvotes

UPDATE: Windows Terminal release v1.25.3131.0 fixes this issue. Check it here: https://github.com/microsoft/terminal/releases#release-v1.25.3131.0

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. 💖


r/vim • • 18d ago

Random I made an unofficial VimGolf leaderboard — who has solved the most challenges?

0 Upvotes

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:

https://vimgolf-leaderboard.wottega.com/

It ranks players three ways:

  • Most solved — challenges you have a score on

  • #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 [email protected] 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.


r/vim • • 19d ago

Blog Post Yet Another Vim Blog

Thumbnail reddit.com
13 Upvotes

Reposting here because the content is Vim native.

I'll be updating at least once a week, https://blog.nerdware.ca


r/vim • • 22d ago

Discussion Vim for premed/med notes

16 Upvotes

Just how good does it get?

I am relatively new to vim, and right now my setup is vimwiki in md form connected to an obsidian vault.

Learning how to do thing like mappings, macros, and direct plugins makes me wonder just how good I can get at storing information.

For context, I use the terminal to get record of everything that is displayed and said in lecture/recordings so I can later condense it.


r/vim • • 23d ago

Discussion note taking, zettelkasten, and similar tools

37 Upvotes

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.)


r/vim • • 24d ago

Video Learn Text Objects in 5 Minutes (Beginners)

Thumbnail
youtu.be
16 Upvotes

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.


r/vim • • 24d ago

Random Ummm…

Thumbnail
imgur.com
39 Upvotes

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?


r/vim • • 26d ago

Announcement New rules for plugin announcement posts

Thumbnail reddit.com
43 Upvotes

r/vim • • Oct 15 '26

Tips and Tricks Terminal Vim Integration with Wayland

19 Upvotes

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:

autocmd TextYankPost * call system('wl-copy', @")
autocmd FocusGained * call timer_start(0, {t -> execute('let @" = system("wl-paste")')})

r/vim • • Oct 14 '26

Random I'm making a roguelike game with Vim motions and a "modal shotgun"

103 Upvotes

r/vim • • Oct 14 '26

Random Game of Life With Vim Motions

44 Upvotes

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.

Repository link: ksaze/vim-complete

P.S. Surely this will help me land a job. Good going, me.