如何查看光标所在字符的Unicode代码点?例如,如果我的光标位于字符上,我想让Vim告诉我它是U + 2318。

替代信息,例如以10为基的表示形式(8984)或UTF-8表示形式(E2 8C 98)是可以接受的。很高兴知道。

#1 楼

您可以在%b%B中使用statuslinerulerformat。来自:help statusline

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


例如:

set statusline=%b\ 0x%B


给您:

8984 0x2318


另一种方法是使用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;这会使用unicode名称扩展ga命令,类似于unicode.vim。 >

评论


“此命令假定使用UTF-8”-文档说明了这一点,但是我的经验是,它可以任何编码方式工作(但不遵守文件编码)。

–Random832
2015年2月24日13:27



经过进一步的实验,如果将if编码设置为非utf8多字节编码(例如cp932),则g8将仅显示第一个字节,而ga将显示完整的字符数。

–Random832
2015年2月24日13:35



有没有办法让g8的输出本身出现在状态栏中?有点像原始问题的“替代信息”部分。

–0fnt
16-10-16在15:39