我想将整个缓冲区/dev/stdout
而不是文件写入标准输出(),并且以下命令在编辑文件时按预期工作:
:w >> /dev/stdout
提示:按Control+ L刷新屏幕。
但是,当我尝试从命令行(非交互式)执行相同操作时,它无法按预期工作,例如:
$ echo This is example. | vim - '+:w >> /dev/stdout' '+:q!'
Vim: Reading from stdin...
与同:w !tee
,:x! /dev/stdout
,:%print
和类似的。
退出之前,这是说:[Device] 1L, 17C appended
。
有什么办法迫使vim在管道中间将标准输入写入标准输出?也许以某种方式缓冲了吗?
4
只是好奇,您要完成什么?在这种情况下,vim会为您做什么,而其他一些工具可能不会呢?
—
杰·汤普森
您了解vipe,因此您不使用它的任何理由?
—
muru
@muru我还没有使用过,可用的文档不多,并且不在这里。
—
kenorb 2015年
有关vipe的问题可能是,但没有理由不能成为答案。所以我想知道为什么不应该将其发布为答案。
—
muru