#author("2026-03-17T16:50:38+09:00","","")
#author("2026-04-01T16:09:11+09:00","","")
** コメントがついたあ [#m679addd]

コメントありがとうございます!

私も去年まではgvimを主に使っていました。でもプラグイン作ろう、と思ってからはNeovim派になってしまいました。

OSS公開のタイミングも近かったんですね。Redditの「洗礼」はちょっと気になります(笑)
cloneしてくれる人がいると、「どこかで誰かが触ってるんだな」と実感できて面白いです。

私の方もまだ静かな状態ですが、少しずつ広げていけたらと思っています。
Redditにも出して2週間たったので、また報告書いてみます。


** 古い記事 [#i79668ce]

- [[vimでCSVを気持ちよく編集したくて「tirenvi」を作った話:https://zenn.dev/ogwk/articles/d5780b268e97b3]]
- [[GitHubでOSSを公開して2週間:⭐2 / Cloners67 / Visitors8 でした:https://zenn.dev/ogwk/articles/a1584cf8b104df]]

* Reddit [#v898b57c]

** title [#h2954d84]

[Plugin] Edit CSV / TSV tables in Neovim without breaking the structure (GFM support in progress)

pluginタグをつけること

** 画像と動画 [#oa68c281]

/Users/ogawa/script/tirenvi/demo.gif

** body [#s5c0f7c2]

マークダウンにする

Tirenvi renders CSV/TSV tables in a structured view while keeping the buffer as pure text.

All Vim commands work (`dd`, `yy`, `p`, `D`, `o`, `R`, `J`, and more)

Supported formats:
- CSV
- TSV
- GFM tables (work in progress)

https://github.com/kibi2/tirenvi.nvim

** comment [#va5dba17]

Some implementation details for people interested.

Tirenvi is designed to keep everything as plain text.

- no hidden metadata
- no shadow buffer
- no custom buffer type

Even though it provides a structured view, the underlying buffer remains pure text.

---

## Architecture

 CSV / TSV / GFM / other flat formats
            │
      external parser
            │
            TIR
 (Tabular Intermediate Representation)
            │
          tirenvi
            │
 structured Vim buffer (tir-vim)

Parsing is handled by external tools that convert flat formats into a tabular intermediate representation (TIR).

This keeps the editor layer simple and format-agnostic.

---

One tricky part was preserving Vim's undo tree.

If an edit temporarily breaks the table structure, Tirenvi automatically repairs it — but only in the current editing state. Historical undo states are never modified.

This allows the current buffer to remain structurally valid while keeping Vim's undo tree intact.

---

Feedback from Neovim users would be very welcome!

---

** 投稿直前チェック(重要) [#ze4758f7]

投稿前に確認するポイント:

- GIFが **最初に表示される** [#q9223e76]
- 本文は **短い** [#p3d5ad0b]
- GitHubリンクがある [#wff83800]
- 技術説明は **コメント側** [#bae6dff3]

これで **Redditで読みやすい構成**になります。

Front page   Edit Diff History Attach Copy Rename Reload   New Page list Search Recent changes   Help   RSS of recent changes