Break the habit of using arrow keys in Neovim and learn faster movement commands.
Get a report of your worst navigation habits so you know which Vim motions to practice next.
Configure custom key-repeat limits and hint messages to match your own learning pace.
Requires Neovim 0.10 or later, setup is a one-line call in your Neovim config.
hardtime.nvim is a plugin for Neovim, a text editor used primarily by programmers. Its purpose is to break habits that experienced Vim users consider inefficient, most notably relying on arrow keys or pressing the same navigation key many times in a row instead of using Vim's more powerful movement commands. The plugin works by watching what keys you press. If you press the same key too many times in quick succession, for example tapping the down arrow repeatedly to scroll through a file, it blocks the key temporarily and shows a hint about a faster way to accomplish the same movement. You can configure how many repeated presses trigger the block and how long the timeout lasts. By default, pressing the same movement key more than three times within a second triggers it. Along with the real-time blocking, the plugin keeps a log of which hints it has shown you most often. You can view this with the :Hardtime report command to see where your navigation habits most often fall back to slow patterns. This gives you a picture of which Vim motions are worth learning next. The recommended workflow described in the README covers a hierarchy of movement techniques: relative line jumps for short vertical distances, scroll shortcuts for longer distances, word-motion keys for horizontal movement, and search-based positioning for jumping to specific characters in a line. Installation requires Neovim version 0.10 or later and a Lua-based plugin manager. The setup is a one-line call in your Neovim configuration file. The plugin is enabled by default once installed and can be toggled with :Hardtime enable, :Hardtime disable, or :Hardtime toggle.
← m4xshen on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.