管道Vim缓冲区到stdout

我想在管道中间使用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}

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...