有没有办法在状态栏中显示光标下的字符?
我已经使用%b\(0x%B)
来显示字符的十进制和十六进制值。我想在这两个之前显示字符本身。
最佳答案
没有预定义的项目(如 :help 'statusline'
下所列,但您可以使用自定义表达式来实现此功能(项目 %{...}
):
let &statusline .= "%{matchstr(getline('.'), '\\%' . col('.') . 'c.')}"
(我使用 :let
而不是 :set
以避免转义所有空格;这样更具可读性。)
getline('.')
获取当前行,并通过特定列匹配的特殊 \%c
原子检索光标下的字符; col('.')
是当前列。然后 .
匹配那里的字符,然后 matchstr()
提取它。
关于Vim 状态行 : show the character itself,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40508385/