我不明白为什么在“utf-8机器”上用vim打开一个utf-8文本文件显示小写的变音符号是正确的,但是大写的变音符号被破坏了(即▒~D而不是Ä)因此我不知道如何解决它。
该文件是utf-8编码的:
$ iconv -f UTF-8 myFile.txt > /dev/null
$ echo $?
0
本地设置为utf-8:
$ locale
LANG=de_DE.UTF-8
LC_CTYPE=de_DE.UTF-8
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES=de_DE.UTF-8
LC_ALL=de_DE.UTF-8
如果使用vi而不是vim打开文件,则所有变音符号(大写和小写)都是正确的。命令行工具也是正确的:
$ cat myFile.txt | grep Ä
//TEMPORÄR
我尝试在vim中设置encoding=utf-8
和fileencoding=utf-8
,但它没有效果,如果它我不明白为什么,因为它绝对只是一个显示问题:
# Creating a file using vi, content:
ÄÖ
# Opening using vim displays:
▒~D▒~V
# Adding a new line using vim (by typing ÄÖ)
▒~D▒~V
▒~D▒~V
# Opening the same file using vi again
ÄÖ
ÄÖ
在VIM - Vi IMproved 7.1
上使用Oracle Solaris 10 9/10 X86
,更新不是选项。
任何帮助都会受到赞赏,因为到目前为止我的“谷歌搜索”并没有帮助我。
(Workarround将配置vi
以避免“tmp file to large”或“line to long”错误,这是我更喜欢vim的主要原因。)