web-dev-qa-db-ja.com

c vim garblesmobaxterm経由で使用する場合のファイルの最初の文字

このことは私を夢中にさせ、私は解決策を見つけることができません...

MobaXtermを使用してssh経由でFreeBSDマシンにログインしています。 vimでテキストファイルを開くたびに、ファイルの最初の文字が「g」に置き換えられます。ディスプレイが文字化けするだけでなく、vimを終了しようとすると、ファイルが変更されたことを警告します。ファイルを書き込んだ後は、もちろん「g」が表示されます。

これは、TERMがxtermバリアント(xterm、xterm-colorなど)に設定されている場合にのみ発生することを私が理解できた唯一のことです。他のエディター(nanoまたはvi)を使用している場合は発生しません。

誰かが解決策を提案したり、正しい方向を示したりできますか?何を確認または再構成する必要がありますか?

更新:

:scriptnamesの出力

  1: /usr/local/etc/vim/vimrc
  2: /usr/local/share/vim/vim74/syntax/syntax.vim
  3: /usr/local/share/vim/vim74/syntax/synload.vim
  4: /usr/local/share/vim/vim74/syntax/syncolor.vim
  5: /usr/local/share/vim/vim74/filetype.vim
  6: /usr/local/share/vim/vim74/plugin/getscriptPlugin.vim
  7: /usr/local/share/vim/vim74/plugin/gzip.vim
  8: /usr/local/share/vim/vim74/plugin/logiPat.vim
  9: /usr/local/share/vim/vim74/plugin/matchparen.vim
 10: /usr/local/share/vim/vim74/plugin/netrwPlugin.vim
 11: /usr/local/share/vim/vim74/plugin/rrhelper.vim
 12: /usr/local/share/vim/vim74/plugin/spellfile.vim
 13: /usr/local/share/vim/vim74/plugin/tarPlugin.vim
 14: /usr/local/share/vim/vim74/plugin/tohtml.vim
 15: /usr/local/share/vim/vim74/plugin/vimballPlugin.vim
 16: /usr/local/share/vim/vim74/plugin/zipPlugin.vim

ホームディレクトリに.vimrcファイルがありません。/usr/local/etc/vimにあるファイルは、vimパッケージに付属している変更されていないデフォルトファイルです。

if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
        set fileencodings=ucs-bom,utf-8,latin1
endif

let g:is_posix = 1
set nocompatible
set bs=indent,eol,start
set history=50
set ruler

if &t_Co > 2 || has("gui_running")
        syntax on
        set hlsearch
endif

if has("autocmd")
        augroup freebsd
        autocmd!
        if $PORTSDIR != ""
                autocmd BufNewFile $PORTSDIR/*/*/Makefile 0r $PORTSDIR/Templates/Makefile
        else
                autocmd BufNewFile /usr/ports/*/*/Makefile 0r /usr/ports/Templates/Makefile
        endif
endif

テキストまたはバイナリファイルを開くときに発生します。ただし、この問題はMobaXtermに関連しているようです。 MobaXtermに接続したときにのみ発生します。 PuTTYまたは物理コンソールを使用するとVimは正常に動作します(どちらの場合も$ TERMはxtermです)。

1
LittlePilgrim

これはバグだと思いますが、最近修正されました。 Vimを更新してください。

ああ、mobaxtermの場合、これも mobaxtermのバグ のようです。

1

これを~/.vimrcファイルに追加します。

set background=dark

1
J Doe

私は同じ問題に直面します。私はそれを修正するための解決策を持っていません。しかし、それを回避するための回避策があります。

'tmux'をインストールしてtmuxでvimを使用すると、 'g'の問題はなくなります。

0
terry