jupyterlab-contrib / jupyterlab-vim

Vim notebook cell bindings for JupyterLab
https://jupyterlab-contrib.github.io/jupyterlab-vim.html
MIT License
660 stars 43 forks source link

vim mode disabled for first cell when code cell extension is installed or for current cell when changing CodeMirror settings #123

Open firai opened 8 months ago

firai commented 8 months ago

Description

When a code cell extension, such as jupyterlab-execute-time, is installed alongside jupyterlab-vim, vim mode does not initialize in the first cell, and the user must switch to another cell and back in order to enable vim in the first cell.

Upon triage by @krassowski, changing CodeMirror settings for code cells also causes vim mode to be disabled for the current cell.

Reproduce

Type 1

  1. Install both jupyterlab-vim and jupyterlab-execute-time
  2. Create a new notebook

Type 2

  1. Install jupyterlab-vim alone
  2. Change CodeMirror settings

Expected behavior

vim mode properly initializes regardless of other extensions

Context

krassowski commented 8 months ago

Would you mind opening an issue over in jupyterlab-execute-time?

firai commented 8 months ago

Investigated by @krassowski at https://github.com/deshaw/jupyterlab-execute-time/issues/97#issuecomment-1754064252. To be tracked here.

firai commented 8 months ago

Seems like this doesn't occur with every CodeMirror extension. When I use jupyterlab-vim with jupyterlab-indent-guides, neither first load nor changing settings for jupyterlab-indent-guides from the Settings Editor disables vim mode.