Bring Jupyter notebook style cells to Neovim with a dead simple plugin

Published March 10, 2025 ยท Updated March 10, 2025
Safe wrapped in butcher paper

Jupyter notebook lets you execute code one cell at a time, which is great for debugging and extending code that takes a long time to run in its entirety. I missed that convenience when working with Neovim, so I wrote the Cells plugin for Neovim.

Usage

Simply write %% to indicate the beginning and end of a cell and Cells will recgonize it. Type leader-an to go the next cell, leader-ab to go back a cell, and leader-ay to yank the current cell.

This was designed for use with python scripts. Yank a cell, open ipython in another terminal, type %paste and hit enter

Installation

Find the source at my Github

Install using lazyvim by creating ~/.config/nvim/lua/plugins/cells.lua and writing this code:

return {
  {
    "kratss/cells",
    config = function()
      require("cells")
    end,
  },
}