我在通过 编辑服务器上的 html 文件时遇到问题vim
。文件已utf-8
编码。
使用vim
(v7.3,没有活动插件)进行编辑时,我可以看到变音符号,并在变音符号确定之前编辑并保存一行。但是,如果我在元音变音之后进行编辑,则元音变音似乎会消耗两个字符,而只有一个字符可见,并且所有编辑都会发生变化。只有在保存并重新打开文件后我才能看到这一点。我可以插入变音符号,但要删除,我必须按 x 两次(同时字符会发生变化)。
我不知道在哪里寻找问题vim
,terminal
或者ssh connection
?
偏僻的:
> file index.html
index.html: HTML document, UTF-8 Unicode text
> echo $TERM
xterm-256color
> locale charmap
ANSI_X3.4-1968
> grep CHARMAP /etc/default/console-setup
CHARMAP="UTF-8"
当地的:
> locale charmap
UTF-8
答案1
事实证明,终端区域设置设置有某种错误。我的.bashrc
有一个export LC_ALL=C
.
> locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
...
LC_IDENTIFICATION="C"
LC_ALL=C
删除后LC_ALL=C
我得到这个:
> locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_GB.UTF-8
...
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
enconding=utf-8
Vim 现在使用和打开同一文件,fileencondig=utf-8
并且编辑正常。
感谢墨菲和拉多万的一些指点。也许有人对这个问题有解释。