【发布时间】:2017-03-23 08:19:31
【问题描述】:
有没有办法在状态栏中显示光标下的字符?
我已经使用%b\ (0x%B) 来显示字符的十进制和十六进制值。我想在这两个之前显示字符本身。
【问题讨论】:
标签: vim character statusline
有没有办法在状态栏中显示光标下的字符?
我已经使用%b\ (0x%B) 来显示字符的十进制和十六进制值。我想在这两个之前显示字符本身。
【问题讨论】:
标签: vim character statusline
没有预定义的项目(在:help 'statusline' 下列出,但您可以使用自定义表达式(项目%{...})来实现它:
let &statusline .= "%{matchstr(getline('.'), '\\%' . col('.') . 'c.')}"
(我使用:let 而不是:set 以避免转义所有空格;这样更易读。)
getline('.')获取当前行,通过匹配某列的特殊\%c原子检索光标下的字符; col('.') 是当前列。 . 然后匹配那里的字符,matchstr() 提取它。
【讨论】:
let &statusline .= "%2.2(%{matchstr(getline('.'), '\\%' . col('.') . 'c.')}%)"