Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何让vi重新绘制屏幕?_Git_Vim - Fatal编程技术网

Git 如何让vi重新绘制屏幕?

Git 如何让vi重新绘制屏幕?,git,vim,Git,Vim,当我使用 git commit --amend 它将进入一个vi窗口,让我输入commit的注释,问题是vi窗口将显示一些来自前shell背景的脏字符。因此,我想知道如何让vi重新加载或重新绘制屏幕以使屏幕正常 到目前为止,我尝试重置终端和Ctrl+L,它可以工作,但我想知道对于这种情况有没有最好的答案?我已经使用Ctrl+L进行这种用途35年了,有什么问题吗?在Vi中,这两个都是重新绘制的: ^R(不适用于VT100型端子) ^L(不适用于远程视频终端) 从(死链接;请参阅) 如评论中所

当我使用

git commit --amend
它将进入一个vi窗口,让我输入commit的注释,问题是vi窗口将显示一些来自前shell背景的脏字符。因此,我想知道如何让vi重新加载或重新绘制屏幕以使屏幕正常


到目前为止,我尝试重置终端和Ctrl+L,它可以工作,但我想知道对于这种情况有没有最好的答案?

我已经使用Ctrl+L进行这种用途35年了,有什么问题吗?

在Vi中,这两个都是重新绘制的:

  • ^R(不适用于VT100型端子)
  • ^L(不适用于远程视频终端)
从(死链接;请参阅)


如评论中所述,Vim现在使用^R进行重做,单独使用^L进行重画。

强制屏幕刷新

:redraw!

control+L似乎对我不起作用;我必须先重置终端。不知道为什么…您的.vimrc设置为“术语”吗?可能是设置不正确。@AlexMartelli:ctrl+L似乎对油灰不起作用<代码>!重绘更通用。ctrl+l对我不起作用,这似乎取决于你的终端。还有:重画!似乎对每个人都有效的解决方案。对于上面提到的不起作用的解决方案,我认为您可能已经将密钥绑定映射到了其他东西。在这种情况下,只需使用
:redraw不是^R重做吗^L为我重新绘制屏幕而工作。@Geremia取决于终端类型显然,^L可能更常见。在vim中,^R总是重做。