在 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 的当前值。