서버에서 html 파일을 편집하는 데 문제가 있습니다 vim
. 파일이 utf-8
인코딩되었습니다.
(v7.3, 활성 플러그인 없음)을 사용하여 편집할 때 vim
발음 구별 부호를 볼 수 있으며 발음 구별 부호가 결정되기 전에 줄을 편집하고 저장할 수 있습니다. 그러나 움라우트 이후에 편집하면 움라우트는 두 문자를 사용하는 것처럼 보이고 한 문자만 표시되고 모든 편집 내용이 변경됩니다. 파일을 저장하고 다시 열어야 이 내용을 볼 수 있습니다. 발음 구별 부호를 삽입할 수 있지만 삭제하려면 (문자가 변경되는 동안) 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
편집이 잘 작동합니다.
몇 가지 조언을 해준 Murphy와 Radovan에게 감사드립니다. 어쩌면 누군가가 이 문제에 대한 설명을 가지고 있을 수도 있습니다.