현재 문자의 유니 코드 코드 포인트를 참조하십시오


36

커서가있는 문자의 유니 코드 코드 포인트를 어떻게 볼 수 있습니까? 예를 들어, 커서가 문자 위에 있으면 Vim이 U + 2318 이라고 말하고 싶습니다 .

기본 10 표현 (8984) 또는 UTF-8 표현 (E2 8C 98)과 같은 대체 정보가 허용됩니다.

나는 유니 코드와 UTF-8이 가장 일반적이기 때문에 묻지 만 대답이 다른 문자 세트와 인코딩으로 일반화되면 그것을 아는 것이 좋습니다.

답변:


45

%b또는 %B에서 statusline또는을 사용할 수 있습니다 rulerformat. 보낸 사람 :help statusline:

b N   Value of character under cursor. 
B N   As above, in hexadecimal. 

예를 들면 다음과 같습니다.

set statusline=%b\ %B

당신에게 제공합니다 :

8984 2318

다른 방법은 명령 을 사용 ga하는 것 :ascii입니다. 보낸 사람 :help ga:

:as[cii]        or                                      ga :as :ascii
ga                      Print the ascii value of the character under the
                        cursor in decimal, hexadecimal and octal.

어느 것이 당신에게 줄 것입니까?

<⌘> 8984, Hex 2318, Octal 21430

또 다른 유용한 매핑은 g8다음과 같습니다.

e2 8c 98

파일에 저장된 실제 바이트의 16 진 값을 인쇄합니다 (이 명령은 UTF-8을 가정합니다).

또한 사용할 수있는 두 가지 유용한 플러그인이 있습니다.

  • unicode.vim은 다양한 유용한 유니 코드 관련 명령을 추가합니다. :UnicodeName커서 아래에있는 문자의 세부 사항을 얻는 데 사용하십시오 .

  • characterize.vim ; 이는 gaunicode.vim과 유사한 유니 코드 이름으로 명령을 확장합니다 .


"이 명령은 UTF-8을 가정합니다"-설명서에 나와 있지만 내 경험에 따르면 어느 encoding것이 든 작동 하지만 (존경하지는 않습니다 fileencoding).
Random832

3
추가 실험 후 if encoding가 cp932와 같은 비 UTF8 멀티 바이트 인코딩으로 설정된 경우 g8첫 번째 바이트 만 인쇄하지만 ga전체 문자 번호가 표시됩니다.
Random832

g8의 출력이 상태 표시 줄에 자체적으로 표시되는 방법이 있습니까? "대체 정보"부분과 함께 원래의 질문을 좋아합니다.
0fnt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.