gpt4 book ai didi

vim - = 与映射中的

转载 作者:行者123 更新时间:2023-12-03 17:05:22 25 4
gpt4 key购买 nike

我看到这两种样式都用于在 map 中插入表达式的内容。例如:

imap ,9 <c-r>=1+1<cr>
imap <expr> ,9 1+1

据我所知,这两个都做同样的事情:它们插入 2如果您输入 ,9在插入模式。

我看到一些脚本使用第一种样式,而其他脚本使用第二种样式。有什么区别吗?在我看来, <expr>风格更清晰,但是否存在 <c-r>= 的用例风格可以完成 <expr>不能?

最佳答案

你的两个例子是等价的。您应该更喜欢第二种样式,如 <c-r>=在某些情况下表现不同。最近的一个例子是 <Plug> function failing, inserting as literal "<t_ý>S" ,其中使用 <c-r>=<Plug>Func()<CR><Plug>Func() 相比做了一些不同的和意想不到的事情在表达式映射中。
<c-r>=的大部分用途应该是当你想在你的映射中间插入表达式的结果(或者只是手动使用表达式寄存器)。一个简单的例子是你想要包含 g:some_var 的内容。当您点击 ,8 时括号之间的变量

imap ,8 (<c-r>=g:some_var<cr>)

关于vim - <c-r>= 与映射中的 <expr>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34817344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com