You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vim中执行可视块选中内容时如何插入shell命令的输出

Vim将选中bash脚本的执行结果插入当前文件的实现方法

基础实现方案

场景1:用执行结果直接替换选中的原脚本内容

直接调整你原有执行命令即可:

:'<,'>!bash

该命令会将你可视块选中的行作为标准输入传递给bash执行,执行后的标准输出会直接覆盖原来选中的内容。
如果需要同时捕获标准错误输出一起替换,修改命令为:

:'<,'>!bash 2>&1

场景2:保留原选中的脚本内容,将执行结果插入到选中区域下方

可以用无需临时文件的简洁写法实现:

:<c-u>put =system('bash', getline("'<", "'>"))

如果需要同时插入标准错误输出,修改为:

:<c-u>put =system('bash 2>&1', getline("'<", "'>"))

进阶快捷映射配置

你可以把操作映射到可视模式快捷键,写入.vimrc配置文件,后续选中内容后按快捷键即可完成操作,无需每次敲长命令:

  • 替换选中内容为执行结果的映射:
vnoremap <leader>r :<c-u>'<,'>!bash 2>&1<cr>
  • 保留原内容,在下方插入执行结果的映射:
vnoremap <leader>r :<c-u>put =system('bash 2>&1', getline("'<", "'>"))<cr>

默认leader键为\,配置后选中内容按\r即可触发对应操作。


内容的提问来源于stack exchange,提问作者auditory

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:57:01