まず何を作ったか tmuxのpaneとNeovimのwindowを、だいたい同じ操作感で編集できる仕組みを作りました。 tmux側では tmux-layout-paredit、Neovim側では panedit.nvim という形で実装しています。 やりたいことはざっくり言うと、ペイン配置を2分木として見て、 ペインのサイズ変更 ペインの分割方向変更 ペインの入れ替え といった操作を、tmuxとNeovimの両方で同じように扱うことです。 何をするとどうなるか、をざっくり視覚的に表現したものはこちらです。 この記事では、その考え方と実装上の違いをまとめます。 背景 tmuxのpaneとNeovimのwindowは、実装こそまるで違いますが、よく似た役割を果たします。 どちらも画面を長方形領域に分割し、それぞれの領域に端末やバッファを表示しています。 日常的な操作も似ています。 左右に分割す

