2016-12-16 5 views
1

私はファイルevent.txtを開いていくつかの検索結果を表示するためにvimを使いました。これはうまくいきましたが、_vimrcの変更を行ったので、ファイルの内容は@ -signsと表示され、読み取れません。下の画像を参照してください。私は_vimrcに変化したのは何 event.txt with @-signsvimは@ -signsでファイルの内容を表示します

set fileencoding=utf-8 

だったが、私はそれをコメントしています。だからvimには影響しないはずです。

"set fileencoding=utf-8 

ファイルはまだ表示されません。他のエディタでは、ファイルを開いてそれを普通に見ることができます。私はこの行動をしばらく前にしていましたが、何とか消えました。私は覚えていない。

event.txtファイルは、私はPowerShellを経由生成Windowsイベントファイルです:

get-eventlog -logname system > event.txt 

何かが私に語ったことは_vimrcの変化と、おそらく何か他のものではないのですが、これは私が私を覚え、最後の変更でありますそれ以降はうまくいかなかった。

どのように私はvimのWindowsイベントファイルevent.txt normalyで見ることができますか? Without @ -signsなし。冒頭にÿþは、Windows ユニコードテキストの典型的なバイトオーダーマーク(BOM)、であることを

+1

[これを試してください](http://vim.wikia.com/wiki/Working_with_Unicode) –

答えて

2

^@は、VimのNUL値の表現であり、(およそ)2番目の文字として表示されます。したがって、UCS-2リトルエンディアンでエンコードされた(ほとんど)ASCIIテキストファイルがあります。各文字は2バイト(16ビット)で表され、下位のものが最初に来ます。

あなたは

:edit ++enc=ucs2-le event.txt 

でそのファイルを開くことができます。しかし、それは自動的にそれを検出するように、それは正しくVimを設定する方が良いでしょう。あなたがWindows上GVIMを使っているので、私はあなたの~/.vimrcの開始時に

:set encoding=utf-8 

を置くことをお勧めします。これにより、自動的に'fileencodings'が良好なデフォルトのucs-bom,utf-8,default,latin1に設定されます。最初の要素に注意してください。ファイルの検出に役立つはずです。

~/.vimrc'fileencoding'を設定しないでください。これはバッファローカルのの設定であり、ファイルのオープン時にVimによって自動的に設定されます。 'fileencodings'(複数に注意してください)は検出に影響を与える正しいオプションです。

+0

'':set encoding = utf-8''が完璧に機能しました。ありがとう。詳細な説明も同様です。 – jerik

関連する問題