gpt4 book ai didi

vim - 在 Vim 中以 Ex 模式打开寄存器中的文件名

转载 作者:行者123 更新时间:2023-12-04 19:48:22 24 4
gpt4 key购买 nike

如果我在寄存器中有完整路径(例如 @a="/dir/file.txt")并且我想在 Ex 模式下打开文件。

我尝试了 :e @a,但它不起作用。

我也尝试了 :e echo @a 但它也不起作用。

显然我可以在 Ex 模式下键入 :e CTRL-R a,它有效。

但我想知道有没有办法在不使用 CTRL-R 的情况下在 Ex 模式下获取寄存器的内容。

最佳答案

:edit 命令接受一个文件规范。有某些特殊字符(如当前文件名的 %;cp.:h cmdline-special),但 @reg 符号不在这里工作。

Vim 的计算规则与大多数编程语言不同。您需要使用 :execute 来评估变量(或表达式);否则,它是从字面上理解的;即 Vim 使用变量名本身作为参数。

所以,你的问题的解决方案是

:execute 'edit' @a

如果您不希望将特殊字符应用于寄存器内容,则更健壮(但更长)的方法是

:execute 'edit' fnameescape(@a)

关于vim - 在 Vim 中以 Ex 模式打开寄存器中的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39196813/

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