Closed kosu9i closed 5 years ago
^[P1$r1
というシーケンスが入力されてしまいます。
おそらくカーソル形状の問い合わせに対する応答だと思います。
vim で timeoutlen
または ttimeoutlen
の値を極端に短く設定していませんか?
早速ご回答ありがとうございます。
それらはデフォルトのままですが
timeoutlen=1000
ttimeoutlen=-1
で設定されているようです。
試しに
timeoutlen=1000
ttimeoutlen=1000
に変更してみましたが、状況は変わりませんでした。
無知ですみませんが、「カーソル形状の問い合わせに対する応答」とは RLoginで行われているものでしょうか? この辺り知見がないのですが、なにかキーワードがあれば自分でも探してみます。
それらはデフォルトのままですが
ああ、やはりそうでしたか。timeoutlen
, ttimeoutlen
が原因の場合はまず termcap query という機能の方で問題が出そうな事にコメントしてから気が付きました。
無知ですみませんが、「カーソル形状の問い合わせに対する応答」とは RLoginで行われているものでしょうか?
Vim が端末(RLogin)に対してカーソルの形状を問い合わせて、それに対して端末がカーソル形状の情報を返すという事を行います。
その時にカーソルが四角(ブロックカーソル)で点滅状態だと、応答として ^[P1$r1 q^[\
というシーケンスが送られます。
- 他のsshクライアント(PuttyやMacのterminal)では発生しない
これらの端末はカーソル形状の問い合わせに対応していないので、問い合わせを無視して応答しない為問題が発生しないのでしょう。 (正確には Vim が対応していない事を検知してカーソル形状の問い合わせを行わなくなる) Tera Term はカーソル形状の問い合わせに対応しているので、Tera Term でも問題が発生するか確認できますか?
あと、現象を抑え込むだけならば .vimrc に set t_RV=
を追加するとカーソル形状の問い合わせを行わなくなります。
ただしこの設定を追加すると他の様々な自動判別機能も無効になるので、他の問題が出るかもしれません。
@ttdoda ご教示いただきありがとうございます!
その時にカーソルが四角(ブロックカーソル)で点滅状態だと、応答として ^[P1$r1 q^[\ というシーケンスが送られます。
ここの情報がすごくありがたかったです!よく理解できました。
Tera Term はカーソル形状の問い合わせに対応しているので、Tera Term でも問題が発生するか確認できますか?
RLoginでも不定期に再現するため、確かなことは言えないですが
TeraTermでは20回くらいvimを起動しても発生しませんでした。
( Version 4.103 (SVN# 7769)
ポータブル版を使用して試しました)
あと、現象を抑え込むだけならば .vimrc に set t_RV= を追加するとカーソル形状の問い合わせを行わなくなります。 ただしこの設定を追加すると他の様々な自動判別機能も無効になるので、他の問題が出るかもしれません。
おかげさまで、現象を抑えることができました...!
また、いただいた情報をもとに
https://vim-jp.org/vimdoc-ja/term.html
を見て、 t_RC 端末カーソルの点滅を要求
を見つけたので、こちらを無効にしたところ
それらしい副作用( t_RV
のときは文字色が変わってしまっていました)もないように見えます。
しばらくこの状態で過ごしてみたいと思います。
ご丁寧にレクチャいただき、本当に助かりました。ありがとうございました!
いつも利用させていただいております。 原因が分からないので、もしすぐにピンとくるようなことがあれば教えていただきたく...
Ubuntu 18.04.2 LTS
のホストに接続とすると、vimの起動時に、不定期(10回に1回程度)で
^[P1$r1
というシーケンスが入力されてしまいます。Ubuntu 18.04.1 LTS
のホスト上では発生しないということから、何らか条件の組み合わせで発生しているような気がしていますが 原因が特定できておりません...
もし心当たりなどございましたら、ご教示いただけると大変助かります。