Neovim
ZenTerm has two Neovim plugins. One gives you a single set of keys across splits and panes. The other recolors your editor when you switch theme. Both are opt-in.
Cross splits and panes with one motion
Out of the box, moving around takes two sets of keys. ←↓↑→ moves between ZenTerm panes, and Neovim's own Ctrl-hjkl moves between Neovim splits. You switch sets depending on where focus is.
zen-navigator.nvim joins them.
Press Ctrl-h at the left edge of your Neovim splits and focus crosses into the
ZenTerm pane beside it. From a shell pane, Ctrl-h walks back into Neovim and
keeps going through its splits. It is the vim-tmux-navigator idea, without tmux.
It takes two steps, and both are required, because the plugin only diverts a chord ZenTerm already treats as pane navigation.
1. Install the plugin
With lazy.nvim:
{ "praxis-labs-io/zen-navigator.nvim", event = "VeryLazy", opts = {} }2. Hand ZenTerm the chord
Add these to ~/.config/zen-term/config, or set them in Settings under Shortcuts:
keybind = nav_left=ctrl+h
keybind = nav_down=ctrl+j
keybind = nav_up=ctrl+k
keybind = nav_right=ctrl+lCtrl-hjkl now belongs to pane navigation, so other TUIs in a shell pane,
such as htop or less, lose those keys. This is the tradeoff tmux and kitty
make too. The arrow nav,
←↓↑→, keeps
working regardless.
Outside ZenTerm the plugin falls back to a plain wincmd, so the same Neovim
config works anywhere.
Follow the terminal's theme
ZenTerm writes the theme it resolved to
~/Library/Application Support/ZenTerm/theme.json at launch and on every theme
change. zen-theme.nvim reads
that file and applies a matching colorscheme, so picking a theme in Settings
recolors your editor while it is running.
Install it the same way:
{ "praxis-labs-io/zen-theme.nvim", event = "VeryLazy", opts = {} }Every bundled theme names the colorscheme it wants. Your own theme file names one with a single line:
nvim-colorscheme = kanagawa-dragonAdd that to a theme file in ~/.config/zen-term/themes/ and the mapping travels
with the theme. ZenTerm reads the color keys and drops the rest, so the line
changes no color and the file stays a valid Ghostty theme. The
example theme file shows where it sits.
A colorscheme you have not installed leaves the current one up. So does starting Neovim outside ZenTerm, where there is no theme file to read.