vi 모드로 입력 하고 싶지만 ½
추가 문자가 함께 제공됩니다 ½
. 급해요 ALT+0189
. 같은 내용을 많이 찾아봤는데 못 찾았어요.
답변1
터미널을 통해 입력하는 것이 작동하지 않으면(인코딩이 일치하지 않는 것 같음) Vim에 내장된 방법을 사용하여 특수 문자를 입력할 수 있습니다.
유향 그래프
더 편안한 것은 입니다 :help digraphs
. 표에는 :help digraph-table
다음과 같은 특정 문자가 나열되어 있습니다.
½ 12 0xbd 189 VULGAR FRACTION ONE HALF
삽입하려면 Ctrl+를 입력하고 그 K뒤에 을 입력하세요 .12
숫자로 입력
이에 대해서는 아래에 설명되어 있습니다 :help i_CTRL-V_digit
. 소수의 경우 Ctrl+ V, 를 입력합니다 1 8 9. 16진수 표기법( )을 사용할 수도 있습니다 xbd
.
답변2
vi 모드로 입력 하고 싶지만
½
추가 문자가 함께 제공됩니다½
.
아니요.
무슨 일이 일어나고 있는지 터미널이 UTF-8로 인코딩된 문자를 보내고 있다는 것입니다. 문자는 U+00BD이고 UTF-8 인코딩은 두 개의 8비트 문자 시퀀스이며 16진수 값은 입니다 C2
BD
.
그러나 vim은 귀하의 입력이 UTF-8이 아니라고 생각합니다. 두 개의 8비트 문자(첫 번째 문자 U+00C2, 그 다음 문자 U+00BD)를 입력한 것으로 간주됩니다. 그래서 이 두 문자를 삽입합니다.
vim에게 UTF-8을 사용하고 있다고 믿게 만드는 것은 로케일과 인코딩의 복잡한 세계로 들어가는 것과 같습니다. vim은 현재 터미널이 Latin-1(ISO 8859-1) 입력을 생성한다고 가정합니다. UTF-8 입력을 생성하려면 터미널을 신뢰하려면 vim이 필요합니다.
또한: 주석에 숨겨진 내용부터 다른 답변까지, 도움말 텍스트도 UTF-8로 처리되지 않는다는 것이 분명합니다. 이는 아마도 환경 변수( LANG
, LC_ALL
등)은 UTF-8 로케일을 지정하지 않습니다. vim이 UTF-8 입력을 올바르게 처리하려면 전체 인코딩으로 내부적으로 UTF-8을 사용하는 것이 가장 좋습니다.
그런 것
:termencoding=utf-8 인코딩=utf-8로 설정주문하는 것이 최선의 조치일 수 있습니다. 그러나 환경 변수를 조정하는 자신을 발견할 수도 있습니다.