我想在管道中间使用Vim.这个
existing post看起来像我想要做的,除了我希望在没有Python帮助的情况下,只能用bash. [它有帮助,环境是Android上的Terminal IDE应用程序中的bash shell.]
@H_301_8@
看看是
请,我知道如何通过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}