我不明白为什么,在几个星期我不确定发生了什么变化,我在尝试执行这个vim功能时遇到了一个奇怪的错误:
function! P4diff()
aboveleft 40new
setlocal nomodified buftype=nofile nowrap filetype=diff
%!p4 diff #
setlocal nonu
setlocal
readonly
syntax on
:endfunction
我收到错误:
Vim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal
[51;1H"tmp.15529.64" [RO][converted] 119L, 2893C
"ProxyChain.java" [51;19H[converted] 115L, 2943C
Vim: Error reading input, exiting...
Vim: Finished.
[51;1H
要编辑的2个文件
任何人都知道为什么?
答案 0 :(得分:1)
使用:{range}!
命令通过外部程序过滤行时,Vim会在stdin上发送行并重定向stdout以捕获输出。
您调用的p4 diff
命令看起来像是在内部使用Vim(可能是寻呼机),而下级Vim实例正在抱怨上述警告。在非交互式使用p4
时,您可能希望禁用分页(可能有命令行参数或控制此参数的环境变量)。