2024-07-16

Screenの設定により、Screen上のVimの起動時に誤動作

Screenの中でVimを起動するとなぜか変な文字が入力されるという問題が起こっていたのだけれど、ようやく回避方法がわかった。

前提として、 .screenrc に以下のように設定して Ctrl+G で screen のコマンドを入力するようにしていた。 これを他のキーに変えると問題が起こらない。

.vimrc に以下の記述を加えると、問題が起こらなくなった。

if &term=="screen.xterm-256color"
        set t_RB=
endif
このことから、t_RB (request terminal background color) が悪さをしているらしい。 おそらく、リクエストを出すと screen を通り越して端末に伝わり、端末が結果を返すときに、私が割り当てた Ctrl+G のコードが送られ、それを screen が処理してしまうのだろう。

最終的に、以下のように記述することにした。

if &term=="screen.xterm-256color"
        " For .screenrc setting 'escape ^Ww', t_RB caused an issue.
        " Let's disable all request-type termcap settings.
        set t_RB= t_RF= t_RC= t_RI= t_Ri= t_RS= t_RT= t_RV=
endif

0 件のコメント:

コメントを投稿