{"version":"2.1.312","anchor":"vim-gjgk-operator-now-handles-running-out-of-display-rows","canonical_anchor":"vim-gjgk-operator-now-handles-running-out-of-display-rows","heading":"Vim mode gj and gk now handle running out of screen rows","tier":"notice","area":"Terminal UI","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/vim-gjgk-operator-now-handles-running-out-of-display-rows","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312","markdown":"### Vim mode gj and gk now handle running out of screen rows\n\nIn vim mode, gj and gk, alone or after an operator, now check whether there are rows left to move to and place the cursor accordingly\n\n**What**\n\nVim mode lets you edit your prompt with vim keys. `gj` and `gk` move down or up one row on screen, which matters when a long line wraps. Combined with an operator such as `d`, they act on the text they move across.\n\nWhen `gj` or `gk` follows an operator, Claude Code now checks whether there are any rows left to move into. If there are none, it moves the cursor to a different spot instead. Plain `gj` and `gk` cursor moves use the same logic. When you repeat one of these edits with `.`, the column you were aiming for is now kept.\n\n**Why**\n\nThis is a small fix for an edge case in vim mode. It applies when `gj` or `gk` is used at the edge of the text.\n\n- Area: Terminal UI\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 0\/5\n- Scope: individual\n- Heads-up: no"}