是非に及ばず

プログラミングに関する話題などを書いていきます(主にRailsやAndroidアプリ開発について)

vim7.4でファイルを開いた時に先頭文字が「g」に置き換わる不具合の対処方法

CentOS7(64bit)でvim7.4を使ってみようと思い、最新のパッチ(764)を適用した上でビルドしたところ、タイトル通りの不具合が発生した。
2015/07/03時点では、ネットで同様の現象について書かれている記事を見つける事ができなかったので自分で書いておく。

自分はいつもTeraTermsshでサーバに接続してvimを使っているのだが、この場合にこの問題が起きるようだ。

原因は不明だが、~/.vimrcが存在していると、たとえ~/.vimrcの中身が空であろうと、任意のファイルを開いた時に先頭の文字が「g」に置き換わってしまう。
vimにおいて.vimrcを使わないという選択肢はあり得ないので、この問題は放置できない。

パッチを適用しない状態でビルドした場合は、正常に動作する事から特定のパッチを適用した場合にこの現象が起きると思われる。

763、762、...、756という感じで1つずつ適用するパッチを減らしてビルドして動作確認を行った結果、756までは問題ない事が分かった。
つまり、パッチ757でこの問題が挿入されてしまったようだ。

結論としては、しばらくはvim7.4を自前でビルドして使いたい場合は、適用するパッチは756までにするという事にした。

追記

7.4.757のパッチのコメントを見ると、
「cannot detect the background color of a terminal」
と書いてあり、背景色に関わる何かであるように思われる。
いろいろググったところ、.vimrcにset background=darkを指定する(lightでも可)と良いというツイートを発見した。
実際に、.vimrcにset background=darkを追記してファイルを開いたところ、先頭文字がgに置き換わる問題が起きなかった。
最新パッチを使いたい場合は、この方法しかなさそうだ。

追記(7/8)

7.4.766にてこの問題が修正されたように思えたのだが、自分の環境では問題が解決しなかった。
「7.4.766 (after 7.4.757) bg color check does not work on Tera Term」

自分が使っているTeraTermが最新版ではなかったので、試しに最新版の4.87にして試したところ現象が起きなくなった。

TeraTerm4.87+パッチ766以降であれば問題が起きないという事で良さそうだ。