是否有某种方法可以将字符串<C-a>
转换为\<C-a>
在Vimscript中动态显示的密钥代码?我想让<C-a>
成为用户可以为绑定指定的选项,但是在运行时通过检查getchar()的结果来检测\<C-a>
。这可能吗?
答案 0 :(得分:2)
我不明白,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, '\"<').'"')