在 macvim 中,我可以保持 cmdheight=1,而无需在打开某些文件之前收到提示吗?

在 macvim 中,我可以保持 cmdheight=1,而无需在打开某些文件之前收到提示吗?

在 vim 中,我可以保持 cmdheight=1,而无需在打开某些文件之前收到提示吗?

我的问题是,如果我这样做

~/whatever$ vi app/controllers/application_controller.rb

然后因为app/controllers/application_controller.rb对于 80x24 的终端尺寸来说太大,我收到提示。

我可以将终端宽度设为 85,但我正在寻找其他选项。

在此处输入图片描述

我注意到屏幕上显示 x 行 y 个字符。如果它显示 y 个字符而不是字符,那么它也许可以容纳。但即便如此,终端内似乎还有很多未使用的宽度,所以我真的不明白为什么终端宽度被认为太窄,以“证明”一个“提示”。

我甚至看不出路径文件名的长度和提示打开文件之间的联系。

我已经完成 :h hit-enter:help hit-enter得到了http://vimhelp.appspot.com/message.txt.html#hit-enter并且它提到了,:set cmdheight=2但看起来丑陋,因为它会导致底部出现空白行。它甚至在那些我不会得到提示的文件上也会出现这种情况,即在那些路径文件名很短的文件上,vim 在打开它们之前不会给我提示。

答案1

无需将 cmdheight 从默认值 1 更改。

这解决了它

set shortmess+=l

因此现在如果要提示,例如如果终端太窄,它会显示 5L 16C 而不是 5 行 16 个字符,这意味着vi app/controllers/application_controller.rb不会在宽度为 80 的终端上导致提示。

现在,即使终端宽度为 70,它也不会换行。(但 69 会换行)。

某些地方使用的默认快捷键 https://lists.debian.org/debian-user/2001/03/msg01028.html 例如更长 set shortmess=filnxtToO,可以添加I。但请注意,默认包括l。因此,使用该默认设置不会出现问题。

我的短消息设置为I(这是一个很好的设置,并删除了布拉德的长篇大论),但缺少l(el,小写)。因此例如shortmess=Il

执行后将:set shortmess?显示 shortmess 的当前值。

相关内容