rcmdnk's blog

20250503_nvim011_200_200

Neovimをv0.11.0にアップデートしたところGNU screen内で立ち上げると 表示が崩れるようになってしまうことに対する対処法。

GNU screen 5.0.0とNeovim v0.10での表示問題

今回v0.11にアップデートしたところまた問題が起こったというところなのですが、 v0.10のときにも似たような問題が起こっていました。

上記でTruecolor対応にしたところ

+q5463;524742;73657472676266;73657472676262$qm

といった表示が出てscreen全体の表示が崩れるような状態になっていました。

いつも出るわけではなく、 ウィンドウを縦横に分割して、左側のウィンドウで開くときに表示が崩れる状態です。

これに関しては上のポストではnotermguicolorsを設定して対処するとしていますが、 その後、クリップボードを無効にすることで対処していました。

init.lua
1
2
3
...
vim.g.clipboard = false
...

これでNeovim v0.10では表示が問題なくできるようになっていました。

Ref: DECRQSS +q5463;524742;73657472676266;73657472676262$qm appears in terminal · Issue #28776 · neovim/neovim

Neovim v0.11での表示問題

Neovim v0.11にアップデートしたところ、また表示が崩れるようになってしまいました。

+q4D73といった表示が出て、表示が崩れるようになっています。

これに関しては上のIssueにあるように、 #31730がmergeされたため、別途

init.lua
1
2
3
4
5
...
local termfeatures = vim.g.termfeatures or {}
termfeatures.osc52 = false
vim.g.termfeatures = termfeatures
...

の設定が必要になります。

ただ、v0.10ではこの設定だと治らないので両方使う可能性がある場合は両方入れておく必要があります。

OSC52はコピーに使われるシーケンスでその処理に関してGNU screenでは処理しないために そのまま表示されたりして表示が崩れてしまうようです。

OSC52

Neovim(というかターミナル上の表示)とOSのクリップボード共有: multi_clipboard

クリップボードに関してはVim内のものとOSのクリップボードを共有したりはしないので この辺特に気にせずoffにして問題ない状態です。 Neovimは基本的にターミナル内で使っていて、かつGNU screen内で使うことが殆どで、 OSのクリップボードに出したい場合はGNU screenのコピー機能でコピーして、 それをOSに共有するような形にしています。

そのために以下のツールをつかっています。

Sponsored Links
Sponsored Links

« ObsidianをWindows/macOS/iOSでGit (GitHub)、Remotely Save (Dropbox)を使って同期、管理する

}