如何使用 vim 编辑 UTF-8 文件?
德语特殊字符(如 'Ä'、'ü')存在问题。注释中有一些。vim 显示Ã~D
而不是 'Ä',然后 ü
显示 而不是 'ü'。(我希望您的浏览器没有编码问题 :)
我没有“~/.vimrc”文件。
在“~/.viminfo”中
...
# Value of 'encoding' when this file was written
*encoding=latin1
...
如果我输入locale
,它会给出LANG=C.UTF-8
。 是,LANG=C
但我用 进行了更改export LANG=C.UTF-8
。 但什么都没改变。
我在用着MobaXterm 11.0从 Win10 电脑获取访问权限。也许存在问题?
(Linux 对比“Ubuntu 18.04.4 LTS”)
更新:
- MobaXterm 已经(现在仍然)设置为 UTF-8
- 我已使用 [CTRL] + 鼠标右键(然后出现菜单)将 shell 更改为 UTF-8。
- 此外,我设定
export LC_TYPE=de_DE.UTF-8
(“de_DE”!
现在它工作得更好了:-|
- 更多和猫的作品
- 更少和vi 不
和set enc:utf8
在六,它在那里工作。(所以 vi 只是解决方案的一小部分)
我或许less
应该阅读手册页……?
答案1
如果文件的编码混乱,你可以通过输入以下命令让 Vim 立即生效:
: set enc=utf8
: set fenc=utf8
第一个命令控制内容如何显示,第二个命令控制内容如何写入磁盘。
但是,如果您尝试通过 SSH 进行编辑,错误编码的问题也可能出现在 SSH 客户端(例如 Putty)中。如果是这样,请查看 Putty 设置以获取正确的编码。
答案2
将其放入你的 .vimrc 中:
function! Latin()
silent! exe "e! ++enc=latin1"
endfunction
function! Utf8()
silent! exe "e! ++enc=utf-8"
endfunction
输入 Esc 和 ':' 即可调用此方法
:call Utf8()
或者
:call Latin()