gpt4 book ai didi

vim - 在 vim 中,如何在执行可视 block 内容时插入 shell 命令输出

转载 作者:行者123 更新时间:2023-12-02 01:56:39 27 4
gpt4 key购买 nike

使用 Vim,我经常在编辑 bash 脚本时执行它,使用 :'<,'>w !bash选择带有可视 block 的行后。

现在我想将命令的输出插入到脚本中。我该怎么做?

最佳答案

如果你希望你的代码被它的输出替换,你可以简单地从你的命令中删除 w 。剩下的就是:

:'<,'>!bash`

其作用类似于所选行的过滤器。请参阅 :help :!

如果您想像这样将代码的输出插入到自身下方:

echo 1
1

你需要有点创意:

:'<,'>t'>|'[,']!bash
  • :[range]t[address][range] 中的行复制到 [address] 行下方。在这里,我们将视觉选择的行复制到它们自身下方。
  • | 分隔 Ex 命令。
  • '[,']!bash 的工作方式与上面类似:它通过 bash 过滤给定范围内的行。在这里,范围涵盖了最新更改的行,在本例中是我们刚刚复制的行。请参阅 :help '[

可能的改进……

  • 使用 :help :silent 减少命令的噪音:

    :'<,'>t'>|sil'[,']!bash
  • 前置注释字符:

    :'<,'>t'>|sil'[,']!bash|sed 's/^/\# /'
  • 将其转化为可视模式映射:

    xnoremap <key> :t'>\|sil'[,']!bash\|sed 's/^/\# /'<CR>

关于vim - 在 vim 中,如何在执行可视 block 内容时插入 shell 命令输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69535228/

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