• ベストアンサー

vimで作ったファイルがUTF-8にならない

touchでファイルを作るとUTF-8になるのに、vimでファイルを作るとASCIIになります。すべてのファイルをUTF-8で統一したいのですが、vimの文字コードはどこの設定の影響を受けているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.1

http://www.tooyama.org/vim-2.html こちらはご覧になりましたか?

assari22
質問者

お礼

回答ありがとうございました。

assari22
質問者

補足

vimrcにset encoding=utf8とset fileencoding=utf-8を追記したのですが、再起動しても変わらないですね。

関連するQ&A

  • vimの環境設定について

    http://www.kawaz.jp/pukiwiki/?vim#cb691f26 こちらのサイトを見ながら(というか自動認識の部分をコピペ)で文字コードの自動認識はクリアでき,文字化けは起こりませんでした.ですが,新しくファイルをvim上で作るときにまでそれが影響してきて*.texファイルはEUC-JPでコンパイルしないといけないのにUTF-8になってしまいます.:set fileenc~でEUCを指定しても結局はUTF-8で開かれてしまいます.しかもfile2でそのtexファイルの文字コードを確認してもASCIIとなりnkfで変換しても変わりませんでした. *質問:文字コードASCIIはnkfで変換できないのでしょうか? *質問:どうにか自動認識を保ったまま*.texファイルをeuc-jpで保存する方法はありませんか?

  • Vimエディタ:新規ファイルのfileencodingについて

    OS: Fedora Core4 editor: Vim version 6.3 shell: bash 3.00.16 私は.vimrcファイルに文字コードの設定を次のようにしています。 set encoding=euc-jp set fileencodings=iso-2022-jp,sjis,utf-8 この設定で新規ファイルを作って、「set fenc?」でファイルの文字コード(fileencoding)を調べると当然ながら何も指定されていません。 しかし、このファイルを保存した後に再び開くと「fenc=iso-2022-jp」となって、ファイルの文字コードがiso-2022-jpに設定されています。 fileencodingsが新規ファイルには使用されないことは分かっているのですが、Vimのhelpを参照(:h fileencoding)すると、 「"fileencoding"が空のときには、"encoding"が使用される」(意訳) と書かれています。 従って、(encodingをeuc-jpに設定した)私の環境では自動的にfileencodingがeuc-jpに設定されると思ったのですが、上記のように、ファイルを保存後に再び開くとiso-2022-jpに設定されていました。 なぜこのような現象が起こるかご存知の方がいらっしゃいましたら是非教えてください。(おそらく私が勘違いしている部分もあると思うので、そういった点も含めて指摘していただけるとありがたいです)

  • Vimで改行コード、文字コードを指定して保存するには

    初歩的な質問です・・・。 操作を覚えたいため、WindowsでVimをはじめました。 Vimで文字コードを指定して保存する操作はできたのですが([ファイル]-[エンコード指定]-[保存]-[(指定の文字コード)])、 改行コードを指定して保存する方法がわかりませんでした・・・。 例えば、Shift-Jis,CR+LFのテキストをVimで開いて、文字を挿入した(編集した)あとに、UTF-8,LFで保存したいのですが・・・。 [ずんwiki - vim] http://www.kawaz.jp/pukiwiki/?vim#of617c72 を、今 参考にしているのですが、よくわかりません・・・。 よろしければ、教えてください。

  • shift_jisとutf-8

    お世話になります。 先日より文字コードのことで、頭を悩ましています。 サイト制作の時に、フルCSSを目指し、他の人が作っていたCSSを利用してDreamweaverで制作を始めました。 その際、文字コードがutf-8になっていたのですが、ブラウザによっては文字化けしていおり、宣言の部分をshift_jisに変更しました。 この部分です。<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> ちなみにDreamwerverではデフォルトの文字コードはshift_jisなので、わざわざ変更しない限り、制作したページはすべてshift_jisで書かれているようです。 また、使わせてもらったCSSのページには一行目に@charset "utf-8";が入っていたのですが、よくわからないのでこの行をはずしてみたところ、CSSの設定が反映されない部分が出てきました。(これが原因かわかりませんが、この一行を入れると直ったみたいで・・) そこで質問なのですが、HTMLの方ではshift_jis、CSSファイルではutf-8という設定でも別にかまわないのでしょうか?(統一しなくてもいいのか?) また、一行目の@charset "utf-8";を省くと問題がありますか? 統一した方がいい場合は、制作したものをすべてutf-8に(またはshift_jisに)するにはどうしたらいいのでしょうか? 別に統一する必要がなければ今回はこのままにして、次回からきちんとしたものを作って行きたいのですが・・ どうぞよろしくお願い致します。

  • UTF-8のCSVファイルを開く

    エクセル2000でUTF-8の文字コードで作られたCSVファイルを開くと 文字化けしてしまいます。  文字化けせずに開く方法を御存知の方、教えてください。  VBAを使う方法でも構いません。(コードを教えてください。) 宜しくお願いします。 以上

  • MACのvimでの¥マーク入力について

    教えてください。 MACのvimでPHPのプログラミングを行おうとしていますが、 ¥マークを入力するには、ターミナルの環境設定で言語環境をShiftJISに設定すると optionボタン+Yのキーで¥マークを表示することができるみたいですが、 逆に日本語文字列を入力すると文字化けしてしまいます。 UTF-8に変更すれば、文字化けしないのですが、 逆に¥マークが入力できなく、バックスラッシュになります。 UTF-8で、やはりバックスラッシュで書いていくものなのでしょうか? MAC初心者で、vimを使ったことがありません。 よろしくお願いします。

  • vimについて

    vimを使って文字列を検索するとき /文字列  を使うと指定した文字列に色がつくんですが その色がファイルを閉じても消えないんですが、 消す方法がわかりません。 おしえてくださーい。

  • EUCのファイルを開くとUTF-8になる

    文字コードがEUCのperlで書かれたCGIをブラウザで表示すると、UTF-8となっています。(自動認識と設定していた場合) その場合は、文字化けしてしまいます。 ブラウザの文字コードをEUCに変更すると、文字化けせず表示されます。 perlプログラムは、EUCで書かれているのに、ブラウザでは(自動認識と設定していた場合)、UTF-8となる理由はどこにあるのでしょうか? perlプログラムでは、METAヘッダにEUC-JPと記述されています。 ちなみに、サーバのOSはCentOSです。(httpd.confでは、UTF-8が設定されています)

  • UTF-8のBOM無し保存

    現在Ubuntu8.10を利用しています。 普段プログラムを書くのにgeditを使ってるのですが、PHPやTclを書く時にBOMによるエラーが出てしまいます。 調べて見たところ、既に記述されたファイルからBOMを取り除く方法等は紹介されていますし、Windowsのメモ帳等でBOM無しで保存する方法は見つかるのですが、geditでファイルを保存するとき、BOM無しのUTF-8を既定の文字コードに設定することって出来ないのでしょうか? vimやemacsを使う方が無難でしょうか。。。

  • UTF-8とASCIIコードにおける互換性について

    UTF-8とASCIIはそのASCIIコードの範囲のおいて 互換性を持ちます。(と、書籍や多種な文献にはそういった記述があります) たとえば【A】という文字をUTF-8で符号化した際は【41】(16進数で) さらにASCIIコードでも【41】という値がAという文字に割り当てられています。 確かに、一件互換しているようにみえますが、UTF-8っていうことは最終的には Unicode上のコードポイントの値・・・つまり0x0041という値に復元?(というのでしょうか)するわけですよね? でそのUnicodeの文字集合上から復元したコードポイントに対応する文字を参照しAという文字をみつけてくると・・・。 これって【A】という文字をUTF-8で符号化した歳のバイト列はASCIIと一致しているけれど 結局Unicodeコードポイントに直した場合【00】という上位バイトが無駄にくっついてきて【0x0041】となり 互換性がなくなるのではとおもったのですが・・・。 これはどういう意味の互換性なのでしょうか? 識者の方ご教授ください。 お願い致します。