Vim 为什么要将命令窗口高度设置为2行,以避免许多不得不;按<;输入>;继续;?

Vim 为什么要将命令窗口高度设置为2行,以避免许多不得不;按<;输入>;继续;?,vim,Vim,我在我的.vimrc上找到了这个: Set the command window height to 2 lines, to avoid many cases of having to " "press <Enter> to continue" set cmdheight=2 将命令窗口高度设置为2行,以避免许多情况下必须 “按以继续” 设置cmdheight=2 这会在页面底部产生额外的空间: 如果我将其设置为set cmdheight=1,则得到的空间更小: 我不明白我需

我在我的
.vimrc
上找到了这个:

Set the command window height to 2 lines, to avoid many cases of having to
" "press <Enter> to continue"
set cmdheight=2
将命令窗口高度设置为2行,以避免许多情况下必须
“按以继续”
设置cmdheight=2
这会在页面底部产生额外的空间:

如果我将其设置为
set cmdheight=1
,则得到的空间更小:

我不明白我需要
设置cmdheight=2
。在许多情况下,必须“按以继续”,这是什么


不必反复按enter键(无论出于何种原因)似乎很好,但为什么我需要在屏幕上丢失一(1)行垂直空间呢?

如果cmdline区域不够大,无法显示文本,则会出现按enter键提示

例如,插件打印的行数大于
'cmdheight'
设置的行数。当
cmdheight=1
时,甚至会出现这种情况,但要打印的行数大于窗口的宽度

:set cmdheight=1
:echomsg "foo" | echomsg "bar"
恕我直言,将
'cmdheight'
设置为2或更高是不值得的,因为它看起来很难看,并且会占用空间来处理不太常见的按enter键提示

相反,插件应该考虑到这一点,并通过
:redraw
:“刷新”它们的消息:

:echomsg "foo" | redraw | echomsg "bar"
现在,您将只看到后一条消息,但仍然可以通过
:messages
在消息历史记录中找到前一条消息


请参见
:h按enter键以了解更多信息。

在许多情况下
:尝试将
cmdheight
设置为1,并运行一个命令,出于某种原因,该命令会在其输出中添加一个尾随换行符(作为测试,
:echo“foobar\n”
,但许多实际实用程序都会这样做).你会得到提示的.可能会有更多的可能性,不确定。