我设置了以下命令:
set laststatus=2
set statusline=%F %r [Branch %{system("echo -n OK")}] %=[Hex=%02.2B] [Column %c] [Line %l/%L]
hi StatusLine ctermbg=black ctermfg=gray
当我滚动鼠标车轮时,符号在窗口中打印出来:^[OA
和^[OB
,可以清除它们,例如通过按PGUP/-DOWN。我发现system(...)
的一部分状态线会导致行为,但我不确定如何修复它。
是的,您是正确的,问题在system
中。
|:|:静音|外壳不会设置为 烹饪模式。这是用于执行的命令 不需要用户键入。它避免了显示的流浪字符 在需要| ctrl-l |的屏幕上向上去除。>
:silent let f = system('ls *.vim')
因此,您可以通过创建用silent
调用system
的函数来避免这种情况。
set laststatus=2
function! EchoOk()
silent let es = system("echo -n OK")
return es
endfunction
set statusline=%F %r [Branch %{EchoOk()}] %=[Hex=%02.2B] [Column %c] [Line %l/%L]
hi StatusLine ctermbg=black ctermfg=gray