假设我的Main-Class
设置为pastetoggle
,如果我运行<F10>
,则打印出echo &pastetoggle
(问题编号1)如何将其值设为字符串{ {1}}代替此<80>k;
代码。我的意思是可以根据"<F10>"
的值将变量设置为<80>k;
吗?
现在,如果我运行"<F10>"
然后运行pastetoggle
,它会输出相同的let @a=&pastetoggle
字符串,但如果我之后运行echo @a
并运行<80>k;
它打印出let &pastetoggle=@a
(问题2)为什么? (问题3)如何根据echo &pastetogggle
中的值设置<80><fe>Xk;
?
答案 0 :(得分:2)
<80>k;
是<F10>
的内部键码表示形式;遗憾的是,正如您所发现的那样,它无法保存,然后重新分配给&pastetoggle
。
你可以得到&#34;实际&#34;价值通过
:set pastetoggle?
要捕获它,您必须使用:redir
和字符串提取:
redir => setOutput
silent! set pastetoggle?
redir END
let pasteToggleKey = matchstr(setOutput, 'pastetoggle=\zs.*')
echo pasteToggleKey