Vim statusline: 显示角色本身
Vim statusline: show the character itself
有没有办法在状态栏中显示光标下的字符?
我已经使用%b\ (0x%B)
来显示字符的十进制和十六进制值。我也想在这两个之前显示字符本身。
没有预定义项(如 :help 'statusline'
下所列,但您可以使用自定义表达式(项 %{...}
)实现:
let &statusline .= "%{matchstr(getline('.'), '\%' . col('.') . 'c.')}"
(我使用 :let
而不是 :set
以避免必须转义所有空格;这样可读性更好。)
getline('.')
获取当前行,通过匹配某列的特殊\%c
原子获取光标下的字符; col('.')
是当前列。 .
然后匹配那里的字符,matchstr()
提取它。
有没有办法在状态栏中显示光标下的字符?
我已经使用%b\ (0x%B)
来显示字符的十进制和十六进制值。我也想在这两个之前显示字符本身。
没有预定义项(如 :help 'statusline'
下所列,但您可以使用自定义表达式(项 %{...}
)实现:
let &statusline .= "%{matchstr(getline('.'), '\%' . col('.') . 'c.')}"
(我使用 :let
而不是 :set
以避免必须转义所有空格;这样可读性更好。)
getline('.')
获取当前行,通过匹配某列的特殊\%c
原子获取光标下的字符; col('.')
是当前列。 .
然后匹配那里的字符,matchstr()
提取它。