VSCodeVim / VSCodeVim/Vim

`ctk` `dtj` etc. cause jump to previous/next Jupyter cell

Open
#9,970 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
15.2k
Forks
1.5k
Avg merge
3d 18h
Merged PRs (30d)
6

Description

Describe the bug

Since VS Code version 1.113.0, Jupyter notebook cell navigation with j and k seems to have changed. Previously, when at a given cell you were in a "global" command mode (sorry if the terminology is off), j and k would navigate to the next/previous cells. When at a given cell you were in "local" command mode, commands involving j and k would be restricted to that cell only. For example, if I have a cell containing this is a text with k and j and I would put the cursor at the start of the line, and do dtk, the cursor jumps to the previous cell without executing the command. This behaviour appears for d and c commands combined with t and f, but not for visual selection (like vtk, vfj). Moreover, commands involving k cause a cell jump if the cursor was at the top of the cell, and commands involving j cause a jump when at the bottom of the cell. Adding a blank line at the top/bottom of a cell prevents the jumping from happening.

To Reproduce
Steps to reproduce the behavior:

  1. Create a Jupyter notebook with several cells
  2. Add some code/text to one of the cells containing a k or j
  3. Perform an operation involving d/c and t/f
  4. Observe how the cursor jumps to the next/previous cell

Expected behavior
I'd expect the command to be executed in the current cell rather than jumping to the next cell

Environment (please complete the following information):

  • Extension (VsCodeVim) version: 1.32.4
  • VSCode version: 1.113.0
  • OS: Fedora Linux (KDE)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue in a Jupyter notebook using VSCodeVim with the reported VS Code and extension versions, focusing on operator-pending d/c commands combined with t/f at cell boundaries. Trace the key handling and cell-navigation entry points; done means commands involving j and k execute within the current cell without moving to an adjacent cell.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, typescript, vscode
Domain
developer-experience, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.