これは私を怒らせています。XTerm(330)と最新のvim 8.0.1365(FreeBSD上)を使用しています。
時々、常にではないが、5分の1にvimでファイルを開くと、面白い行が行1の上に挿入されます。多くの頭を掻いた後、前のセッションで最後に削除した行であることに気付きました。つまり、""P
("
レジスターを貼り付ける)が実行されているように見えます。
さらに調査した結果、これ*sunKeyboard: true
はXTermリソースで設定した場合、およびなどのレンダリングされたフォントを使用した場合にのみ発生することがわかりました-fa "DejaVu Sans Mono:size=24"
。(私はあなたがそれが奇妙だったと言いましたね?)プラグインがいたずらをするのを避けるために、ディレクトリは.vimrc
ありませ.vim
ん。
次のコマンドを使用して、効果をいくらか再現できます。
#!/bin/sh
rm -f .viminfo; echo inserted >bar; echo x >baz
vim -c d -c wq bar
echo '*sunKeyboard: true' > XTerm
export XAPPLRESDIR=$PWD
for i in 1 2 3 4 5 6; do
xterm -fa "DejaVu Sans Mono:size=24" -e vim baz
done
これにより、必要なファイルが作成さinserted
れ、"
レジスターに配置され、vimが数回呼び出されます。1行目に1行のファイルがある場合x
は、すべて問題ありません。q
次の呼び出しのために入力してください。もしあなたが見るなら
inserte2
x
問題を再現しました。1行目の最後の文字がに置き換えられていることにも注意してください2
。これは.
レジスターから来ているようです。レジスターは次のとおりです。
:reg
--- Registers ---
"" inserted^J
"1 inserted^J
". 2
"% baz
- スクリプトを数回試して、問題を再現できますか?移動
.vimrc
して.vim
一時的に邪魔にならないようにしてください。 - もしそうなら、ここで何が起こっているのか教えてもらえますか?
- これの底に到達する方法の提案はありますか?
更新
私だけではないようです:https : //github.com/vim/vim/issues/2238
:reg
コマンドは".
内容を表示しなくなります。
^[[>19;331;0c
です。githubページは、情報を収集する方法がわからない、曲がりくねった小さな迷路です。下部に「クローズ」と表示されていますが、「8.0。####で修正済み」などのパッチ番号が見つかりません。コメントしてくれてありがとう!
set t_RS=
たりset t_SH=
、あなたのvimrcの仕事に?