0

有什么方法可以将字符串转换为在 Vimscript 中动态<C-a>呈现的关键代码?\<C-a>我想创建<C-a>一个用户可以为绑定指定的选项,但\<C-a>在运行时通过检查 getchar() 的结果来检测。这可能吗?

4

1 回答 1

3

我不明白,有什么问题getchar()?如果你需要字符串,你通常会写一些类似的东西

let char=getchar()
if type(char)==type(0)
    let char=nr2char(char)
endif

并像往常一样进行比较:

if char is# "\<C-a>"
    …
endif

. 如果您需要比较的右侧是一些用户定义的变量,这不是问题,只需告诉用户使用let g:var="\<C-a>". let g:var="<C-a>"尽管也可以使用后者:以下技巧将转换"<C-a>""\<C-a>"

let string=eval('"'.escape(string, '\"<').'"')
于 2013-04-15T03:11:13.830 回答