utf8ではない環境でvim listcharを動作させる方法は?


8

私の.vimrcには以下が含まれます:

if $LANG =~ '\(UTF\|utf\)-\?8' || $LC_CTYPE =~ '\(UTF\|utf\)-\?8'
  set list listchars=tab:»·,trail:~,extends:>,precedes:<
endif

しかし、ユニコードの文字がいくつかあります。LC_CTYPE= zh_TW.Big5環境でvimを実行すると、

Error detected while processing /home/user/.vimrc:
  line   70:
E474: Invalid argument: listchars=tab:»·,trail:~,extends:>,precedes:<

回答:


5

次の行をvimrcに、できれば先頭近くに追加します。

scriptencoding utf-8

これは、非UTFシステムを使用している場合でも、vimにファイルをUTF8として読み取るように指示します。次に、その文字を現在のエンコードに変換します。listcharsオプションで使用している文字が存在する場合、使用する他のエンコーディングが存在する場合、その周りに条件を設定する必要さえありません。


この方法はvimで機能しますが、gvimはまだそのエラーメッセージを表示することがわかりました。
ダニエルYCリン

.gvimrcUnicode文字も含まれているファイルはありますか?その場合は、そのファイルに同じ行を追加すると、そこでも問題が修正されます。このコマンドは、それが見つかったファイルにのみ適用されるため、文字エンコードが重要なvim構成ファイルに含める必要があります。
qqx

私はgvimrcが原因の問題を発見し、修正しました。
ダニエルYCリン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.