如何使用 vim 编辑 UTF-8 文件

如何使用 vim 编辑 UTF-8 文件

如何使用 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()

相关内容