在cygwin上运行vim时,我想在活动缓冲区名称上自动设置窗口标题。
我写了这个:
function! SetMinttyTitle()
silent !clear
execute "!" . "echo -ne '\\e]0;". @% . "\\a' 2>&1 > /dev/null"
endfunction
au BufNewFile,BufEnter,BufRead * call SetMinttyTitle()
不幸的是,它并没有按预期工作。我没有找到摆脱这条消息的方法
"Press ENTER or type command to continue"
如何在后台运行命令?
答案 0 :(得分:1)
通常的答案是使用system()
代替;它不会回显输出,而是返回它。
但这不适用于您的情况,因为您需要将输出打印到终端。暂时重置'shellredir'
可能有效:
set shellredir=
call system("clear; echo -ne '\\e]0;". @% . "\\a' 2>&1 > /dev/null")
set shellredir=>
但是Vim实际上内置了该功能,请参阅:help 'titlestring'