gpt4 book ai didi

vim - 如何在 vim 中过滤寄存器的内容?

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

我想过滤寄存器的内容(在我的例子中,剪贴板寄存器"+) 在将其粘贴到缓冲区之前通过外部命令。

应该有一个类似于 VIM: store output of external command into a register 的解决方案, 但我似乎无法弄清楚。

最佳答案

system() 是要走的路。 :h system() .

您可以使用旧时尚方式(一种可以让您完全控制的方式,因为您可以根据自己的喜好多次进行管道和重定向):

:let res = system("echo ".shellescape(@+)." | the-filter-command")
:put=res

但是,您可能会遇到行尾问题(最后一个字符需要截断)。因此,在第二个解决方案中,vim 使用临时文件并将其传递给过滤器程序:

:let res = system(the-filter-command, @+)
:put=res

如果您使用另一个缓冲区,还有另一种方法可以实现此目的:

:new
:put=@+
:%!the-filter-command
:%d +
:bd
:put=@+

最后一点:Vim 已经有了一些自己的过滤器,比如 :sortuniq 也是 possible natively (但有点复杂),...

关于vim - 如何在 vim 中过滤寄存器的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2273780/

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