Questions tagged «unix»

5
使用xargs调用Vim后终端出现问题
我有时尝试使用调用Vim xargs,如下所示: find . -name '*.java' | xargs vim ……哪种作品? Vim启动时,我会短暂看到以下警告闪烁: Vim: Warning: Input is not from a terminal 编辑工作— :files正确枚举了所有.java文件,如预期的那样。 我可以保存并退出。 但是,退出Vim后,我的终端很闷: 我在shell提示符下键入的任何内容都不会回显。 回车根本不出现,换行符有时仅出现。 直到我发出reset(1)命令重新初始化终端为止。 这是Vim的错误,还是关于它为何与终端交互的更令人满意的解释?我已经看到它发生在Linux和各种Unices上的7.3版的Vim上(该版本似乎无关紧要)。 我知道一种解决方法,即vim $(find . -name '*.java')。其他解决方法也将受到欢迎,尽管这不是我的主要问题。

4
如何从标准输入中编辑内容?
我想在vim中编辑从命令行动态生成的内容,而没有文件。 例如: $ echo This is example. | vim /dev/stdin $ cat /etc/hosts | vim /dev/stdin 但是失败并显示以下错误: Vim:警告:输入不是来自终端 Vim:读取输入错误,正在退出... 有可能实现吗?


2
如何从命令行将整个缓冲区写入标准输出?
我想将整个缓冲区/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在管道中间将标准输入写入标准输出?也许以某种方式缓冲了吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.