如何使Vim填充终端窗口

时间:2014-11-14 19:33:07

标签: vim terminal color-scheme iterm2

在终端中运行Vim时,vim窗口不会填满整个屏幕空间,当终端背景颜色与vim完全不同时,这非常烦人。不可否认,人们可能希望让它们保持同步,但考虑到我不希望这样,我怎样才能让vim在整个窗口中伸展? 下面的屏幕截图说明了问题。

enter image description here

5 个答案:

答案 0 :(得分:4)

看起来您的终端允许以小于单行/列的增量调整大小。

另一方面,Vim只绘制完整的行或列。因此,当Vim显示其窗口时,终端中不会绘制部分可见的行/列。

答案 1 :(得分:4)

您只有两个解决方案:

  • 为您的终端模拟器的背景和Vim的背景设置相同的颜色,

  • 或删除Vim的背景色。

Vim,你的shell和每个命令行程序将屏幕划分为一个网格,其中每个单元格都是一个字符的大小。如果GUI窗口的大小(以像素为单位)不适合您的shell的网格大小,那么您将获得难看的填充。

示例:

  • 我的手机尺寸为7x19,显示屏为1680x1050,
  • 我可以容纳240列和55行,但我总是在屏幕底部有一个5像素的填充。

此外,大多数终端仿真器在可用屏幕周围添加默认填充以增加可读性,因此在终端仿真器中运行时,您永远无法使Vim真正全屏。

答案 2 :(得分:1)

我最近写了一篇中型文章,可以从视觉上帮助解决此问题。 Link

解决此问题的一种方法是在Vim运行时触发终端的背景色更改。这利用了转义序列和终端颜色,这在终端仿真器中可能不可用。

change_terminal_background() {
 local COLOR="$1"

 if [ "$TERM" == "screen-256color" ]; then
# TMUX
  echo -ne "\\ePtmux;\\e\\033]11;$COLOR\\007\\e\\\\"
 else
#  NOT TMUX
  echo -ne "\\033]11;$COLOR\\007"
 fi
}

这样称呼它:

vim() {
# Change the terminal's color when Vim starts
  change_terminal_background "#924560"

  /usr/bin/vim "$@"

# Change it back when it exits
  change_terminal_background "#000000"
}

答案 3 :(得分:-1)

您可以使用我的插件vim-pedant自动更新iterm2的调色板以匹配vim的colorscheme。

答案 4 :(得分:-3)

并不是说VIM没有填满屏幕;它是。您所看到的是帮助文本。帮助文本居中。进入插入模式或运行命令后,它就会消失。