【问题标题】:How make Vim fill Terminal window如何让 Vim 填充终端窗口
【发布时间】:2015-01-12 06:56:05
【问题描述】:

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

【问题讨论】:

    标签: vim terminal color-scheme iterm2


    【解决方案1】:

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

    【讨论】:

    • oarfish 正在谈论终端底部和右侧的不同颜色。
    【解决方案2】:

    您的终端似乎允许以小于单行/列的增量调整大小。

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

    【讨论】:

    • 嗯,这很糟糕,因为我想全屏使用它。我想不可能告诉 vim 一列应该有多少像素,是吗?
    • 顺便说一句。调整大小与它无关。如果我调整窗口大小,边框保持不变,所以不可能。
    【解决方案3】:

    你只有两个解决方案:

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

    • 或移除 Vim 的背景色。

    Vim、你的 shell 和每个命令行程序将屏幕划分为一个网格,其中每个单元格都是一个字符的大小。如果 GUI 窗口的像素大小与 shell 的网格大小不匹配,则会得到丑陋的填充。

    例子:

    • 我的单元格大小是 7x19,我的显示是 1680x1050,
    • 我可以容纳 240 列和 55 行,但我将始终在屏幕底部有一个 5 像素的填充。

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

    【讨论】:

    • 人们会认为这是一个明显的问题,因此会以某种方式解决。很郁闷。
    • “人们会认为这是一个明显的问题,因此会以某种方式解决。”我认为这是使用终端和命令行的结果,这不是问题,并且会专注于其他事情。尝试使用 X-Windows 或原生版本的 vim 或更改字体大小。
    • 几乎每个人都使用终端,所以我看不出这不是问题。更改字体大小没有帮助。
    • 这不是问题,因为调整终端模拟器窗口的背景颜色很简单。这就是面对“问题”的“每个人”所做的,这也是你应该做的。如果您认为这太麻烦了,请询问 iTerm 的开发人员删除其巨大的默认填充并解释他应该扭曲其显示以避免您的麻烦。我相信“每个人”都会为此感谢你。
    • 只是想知道,是否可以在 vim 打开时自动更改终端模拟器的背景颜色(或者更好,在autocmd colorscheme * 上)?这确实令人沮丧。
    【解决方案4】:

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

    【讨论】:

    • 这似乎没有回答这个问题。或者更确切地说,这充其量只是一种侵入性解决方法。
    【解决方案5】:

    我最近写了一篇 Medium 文章,可以帮助直观地解决这个问题。 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"
    }
    

    【讨论】:

      猜你喜欢
      • 2020-10-16
      • 1970-01-01
      • 1970-01-01
      • 2015-03-05
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多