ดูจุดรหัส Unicode ของตัวละครปัจจุบัน


36

ฉันจะดูจุดโค้ด Unicode ของอักขระที่เคอร์เซอร์อยู่ได้อย่างไร ตัวอย่างเช่นถ้าเคอร์เซอร์ของฉันอยู่บนตัวฉันต้องการเป็นกลุ่มที่จะบอกฉันว่ามันเป็นU + 2318

ข้อมูลทางเลือกเช่นการเป็นตัวแทนพื้นฐาน 10 (8984) หรือการเป็นตัวแทน UTF-8 (E2 8C 98) จะเป็นที่ยอมรับ

ฉันถามเกี่ยวกับ Unicode และ 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

ซึ่งพิมพ์ค่าฐานสิบหกของไบต์ที่เกิดขึ้นจริงที่เก็บไว้ในไฟล์ (คำสั่งนี้ถือว่า UTF-8)

นอกจากนี้ยังมีปลั๊กอินที่มีประโยชน์สองแบบที่คุณสามารถใช้ได้:

  • unicode.vimเพิ่มคำสั่งที่เกี่ยวข้องกับ Unicode ที่มีประโยชน์มากมาย ใช้:UnicodeNameเพื่อรับรายละเอียดของตัวละครใต้เคอร์เซอร์

  • characterize.vim ; สิ่งนี้จะขยายgaคำสั่งด้วยชื่อ unicode คล้ายกับ unicode.vim


"คำสั่งนี้ถือว่าเป็น UTF-8" - เอกสารระบุว่าสิ่งนี้ แต่ประสบการณ์ของฉันคือมันทำงานได้ในทุกรูปแบบencoding(แต่ไม่เคารพfileencoding)
Random832

3
หลังจากการทดลองเพิ่มเติม a หากencodingตั้งค่าเป็นการเข้ารหัสแบบมัลติไบต์ที่ไม่ใช่ utf8 เช่น cp932 g8จะพิมพ์เฉพาะไบต์แรก แต่gaจะแสดงหมายเลขอักขระเต็ม
Random832

มีวิธีที่จะให้ผลลัพธ์ของ g8 ปรากฏในสถานะตัวเองหรือไม่? เหมือนคำถามเดิมที่มีส่วน "ข้อมูลทางเลือก"
0fnt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.