ログファイルがあり、vimを介してそれを開くと、ファイルが読み取り可能ではなく、下部に[変換]されています。 [変換済み]はどういう意味ですか?
人間が読めるようにフォーマットの問題を修正する方法はありますか?
これは、vim
が、ファイルがロケールによって指定された文字セットと一致しないことを検出し、変換したことを意味します。 vim
内からコマンド:set
を実行した場合:
:set
--- Options ---
autoindent fileformat=dos scroll=7 textwidth=70
background=dark filetype=asciidoc shiftwidth=2 ttyfast
cscopetag helplang=en softtabstop=2 ttymouse=sgr
cscopeverbose hlsearch syntax=asciidoc
noendofline list tabpagemax=3
expandtab ruler textmode
backspace=indent,eol,start
comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:>
cscopeprg=/usr/bin/cscope
fileencoding=utf-8
fileencodings=ucs-bom,utf-8,latin1
最後の2つのオプション、fileencoding
とfileencodings
に注意してください。
1つ目は現在のファイルに使用されているエンコーディング、2つ目は認識されたエンコーディングのコンマ区切りリストです。
そのため、メッセージvim
は、ファイルのfileencoding
からencoding
への変換が完了したことを示しています。
詳細については、:help fileencoding
または:help encoding
をご覧ください。
以下のスレッドを見つけました。これが回答されたときにソースとして使用しました。元のサイトはもうなくなっています(この回答の履歴からアクセスできます)。そのため、このスレッドのコンテンツを後世のためにここに移動します。 リンクはまだウェイバックマシンにありました 。
#1 Eli the Bearded January 21st, 2004 - 06:51 pm ET | Report spam
In comp.os.linux.misc, Leon. wrote:
Hide the quote
"Gaétan Martineau" wrote in message
news:E9jLb.2903$
> [ system_notes]$ vi installation_chouette.txt
> What means the [converted] at the bottom of the screen, as in:
> "installation_chouette.txt" [converted] 2576L, 113642C
It means that vim detected that the file did not match the
charset given by your locale and made a conversion. What does
:set
Tell you about "fileencoding" and "fileencodings"? The first is
the encoding used for the current file, the second is a comma
separated list of recognized encodings.
Hide the quote
> This file has accented characters. How can I save the file so that if I
> reload if again, I do not see "converted"?
Figure out what charset you want, and then
:set fileencoding=[charset]
:w
Hide the quote
It means deleting the Microsoft Dos/ Windows CR LF end of lines, to just
LF - unix standard end of lines.
It does not. If you open a file with DOS line ends, vim reports [dos]
after the filename, not [converted]. If you do have a dos file that
you wish to convert to unix line ends, you can
:set fileformat=unix
:w
Elijah
vim
コマンドモードで、次のように入力します。
:help read-messages
あなたは見ることができます:
[converted] conversion from 'fileencoding' to
'encoding' done
一般に、vimはファイルがロケールで指定された文字セットと一致しないことを検出し、変換を行ったことを意味します。
詳細を確認するには、:help fileencoding
、:help fileencodings
をお試しください。
これは、ディスク上のファイルがVimのメモリ領域と同じ文字セットを使用せず、一方から他方への変換が成功したことを意味します。エスケープキーを押して、このコマンドを入力してください。
:set fileformat=unix
ファイルを保存して、もう一度読んでください。