gpt4 book ai didi

vim - 函数参数不评估

转载 作者:行者123 更新时间:2023-12-02 04:50:20 26 4
gpt4 key购买 nike

我正在尝试设置几个 map 以快速解决合并冲突。这是我的代码:

func! DiffAccept(w)
diffget a:w
diffupdate
normal ]c
endfunc

noremap dh :exec DiffAccept("//2")<CR>
noremap dl :exec DiffAccept("//3")<CR>

每次我尝试使用它时,我都会得到“a:w 没有匹配的缓冲区”。我显然错误地使用了这个变量,但是当我将行更改为“echo a:w”时它按预期运行。

最佳答案

Vim 的计算规则与大多数编程语言不同。您需要使用 :execute 来评估(函数参数)变量;否则,按字面意义(作为缓冲区名称):

execute 'diffget' a:w

PS: 更喜欢使用 :normal! (with !);这避免了映射的干扰。

关于vim - 函数参数不评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18967081/

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