Skip to content

Instantly share code, notes, and snippets.

View alex-popov-tech's full-sized avatar
🏠
Working from home

Oleksander Popov alex-popov-tech

🏠
Working from home
View GitHub Profile
@sangdth
sangdth / auto-generate-git-branch-from-jira.md
Last active April 6, 2023 16:59
Generate git branch based on Jira tasks
@kylechui
kylechui / dot-repeating.md
Last active January 15, 2026 23:28
A basic overview of how to manage dot-repeating in your Neovim plugin, as well as manipulate it to "force" what action is repeated.

Adding dot-repeat to your Neovim plugin

In Neovim, the . character repeats "the most recent action"; however, this is not always respected by plugin actions. Here we will explore how to build dot-repeat support directly into your plugin, bypassing the requirement of dependencies like repeat.vim.

The Basics

When some buffer-modifying action is performed, Neovim implicitly remembers the operator (e.g. d), motion (e.g. iw), and some other miscellaneous information. When the dot-repeat command is called, Neovim repeats that operator-motion combination. For example, if we type ci"text<Esc>, then we replace the inner contents of some double quotes with text, i.e. "hello world""text". Dot-repeating from here will do the same, i.e. "more samples""text".

Using operatorfunc