Skip to content

Releases: k2hyun/jvim

jvim 0.7.4

Choose a tag to compare

@k2hyun k2hyun released this 18 Jun 02:24

Changes

  • Add normal-mode es for editing multiline JSON string values in the embedded editor panel.
  • Support count prefixes such as 3es to require at least N decoded newline characters.
  • Preserve nested embedded editing across es -> ej and es -> es flows.
  • Add embedded string diff support in jvimdiff.
  • Update README/help docs and add regression tests.

Verification

  • pytest -q passed: 428 tests.
  • Built jvim-0.7.4 sdist and wheel.

v0.7.3

Choose a tag to compare

@k2hyun k2hyun released this 02 Apr 05:32

Fix

  • Correctly disable mouse capture to allow terminal text selection/copy

v0.7.2

Choose a tag to compare

@k2hyun k2hyun released this 02 Apr 05:25

Fix

  • Disable mouse capture to allow terminal text selection/copy (iTerm2, etc.)

Chore

  • Add * and # word search under cursor
  • Add vim-jvim plugin repository link to READMEs

v0.7.1

Choose a tag to compare

@k2hyun k2hyun released this 28 Feb 22:06

Bug Fixes

  • Fix crash when prefix_w=0 causes negative format specifier in tilde line rendering

Improvements

  • Use FoldMixin._open_fold() API instead of direct _folds dict manipulation in differ
  • Use _sync_folds_to_target() for initial fold copy in diff viewer
  • Add cursor_col clamping during diff panel sync
  • Wrap cursor_row temporary change in try-finally for exception safety

v0.7.0

Choose a tag to compare

@k2hyun k2hyun released this 25 Feb 02:17

What's New

  • Count prefix — Vim-style numeric prefixes (5j, 3dd, d3d, 2yy, 10G, etc.)
  • Fold-aware line operationsdd/yy on fold header deletes/yanks entire block; J, o, p respect fold boundaries

v0.6.0

Choose a tag to compare

@k2hyun k2hyun released this 25 Feb 00:01

What's New

  • Diff gutter line numbers - Logical line number (left panel) and JSONL record number (both panels) in jvimdiff
  • Active panel indicator - Title bar highlights the focused panel with color
  • Cursor sync - Cursor position syncs between left/right panels in jvimdiff
  • Tab panel switch - Tab key toggles focus between left and right diff panels

Full Changelog

v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@k2hyun k2hyun released this 24 Feb 01:43

What's New

  • Multi-file navigation: Open multiple files (jvim a.json b.json c.json) and switch with :n (next), :N (previous), :e# (alternate file)
  • Binary file defense: Reject binary files (null bytes, non-UTF-8) in both jvim and jvimdiff

Full Changelog

v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@k2hyun k2hyun released this 22 Feb 23:59

What's New

  • Substitute command:s/old/new/g with JSONPath support
  • JSONL auto-detect — automatically detect JSONL content in non-.jsonl files

Improvements

  • Reorganized internal modules into mode/ and action/ packages (widget.py 1824→1028 lines, -44%)
  • Fixed newline handling in substitute replacement results

v0.3.3

Choose a tag to compare

@k2hyun k2hyun released this 12 Feb 22:13

Performance

  • Block-level diff optimization: ~229x faster for large JSON arrays (50K lines: 39s → 171ms)
    • Detects indent-based block boundaries in formatted JSON
    • Compares segment hashes (~10K) instead of individual lines (~130K)
    • Only runs line-level diff on changed segments
    • Falls back to full line diff for non-array structures
    • Adds 50K-line guard for fallback path (full REPLACE)

v0.3.2

Choose a tag to compare

@k2hyun k2hyun released this 12 Feb 04:13

Fixes

  • Fold/collapse indices now properly shift on line insert/delete instead of being lost (closes #2)
  • Visual line change (V + c) on full-file selection no longer leaves extra blank line (closes #3)
  • Fix missing fold/collapse clear in JSONL format command