有没有一种方法在状态栏中显示光标下的字符?
我已经使用%b\ (0x%B)
来显示字符的十进制和十六进制值。我希望在这两个值前面也能显示字符本身。
有没有一种方法在状态栏中显示光标下的字符?
我已经使用%b\ (0x%B)
来显示字符的十进制和十六进制值。我希望在这两个值前面也能显示字符本身。
虽然没有预定义的项目(如:help 'statusline'
中列出的那样),但是您可以使用自定义表达式(项%{...}
)来实现:
let &statusline .= "%{matchstr(getline('.'), '\\%' . col('.') . 'c.')}"
:let
代替:set
,可以避免需要转义所有的空格;这样更易读。
getline('.')
获取当前行,通过特殊的\%c
原子匹配特定的列,从而获得光标下的字符;col('.')
是当前列。然后用.
匹配那里的字符,并用matchstr()
提取它。
let &statusline .= "%2.2(%{matchstr(getline('.'), '\\%' . col('.') . 'c.')}%)"
- Hans Deragon