加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

管道Vim缓冲区到stdout

发布时间:2020-12-15 18:42:27 所属栏目:安全 来源:网络整理
导读:我想在管道中间使用Vim.这个 existing post看起来像我想要做的,除了我希望在没有Python帮助的情况下,只能用bash. [它有帮助,环境是Android上的Terminal IDE应用程序中的bash shell.] 请,我知道如何通过Vim内部的命令来管理缓冲区.这很棒,但不是我想要的.我想
我想在管道中间使用Vim.这个 existing post看起来像我想要做的,除了我希望在没有Python帮助的情况下,只能用bash. [它有帮助,环境是Android上的Terminal IDE应用程序中的bash shell.]

请,我知道如何通过Vim内部的命令来管理缓冲区.这很棒,但不是我想要的.我想退出Vim并将活动缓冲区传递给stdout.

FWIW,我也知道如何传递另一个命令到Vim作为输入.再次,这不是我想要到达这里.

看看是 moreutils的一部分的vipe.它允许您使用任何编辑器作为管道的一部分.
ls -al | vipe | less

要将其与vim一起使用,请确保将其设置为您的bashrc或cshrc或任何使用的shell的默认编辑器.

EDITOR=vim

更新:如果您想要一个仅限bash的解决方案,您可以使用这样的脚本

#!/bin/bash
 # create temporary file
 TMPFILE=`mktemp /tmp/vipe.bashXXXXXXXX`
 cat > ${TMPFILE}
 vim ${TMPFILE} < /dev/tty > /dev/tty
 cat ${TMPFILE}
 rm ${TMPFILE}

对于更便携的版本,请更换

vim ${TMPFILE}

${EDITOR} ${TMPFILE}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读