m4xshen/hardtime.nvim — explained in plain English
Analysis updated 2026-06-26
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.
| m4xshen/hardtime.nvim | nvim-orgmode/orgmode | scipag/vulscan | |
|---|---|---|---|
| Stars | 3,768 | 3,753 | 3,752 |
| Language | Lua | Lua | Lua |
| Setup difficulty | easy | moderate | easy |
| Complexity | 2/5 | 2/5 | 2/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
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.
hardtime.nvim is a Neovim plugin that trains you to stop using slow key habits, like tapping arrow keys repeatedly, by blocking them temporarily and suggesting faster Vim movement shortcuts instead.
Mainly Lua. The stack also includes Lua, Neovim.
Not specified in the explanation.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.