簡體   English   中英

如何使Vim填充終端窗口

[英]How make Vim fill Terminal window

在終端機上運行Vim時,vim窗口不會填滿整個屏幕空間,當終端機背景色與vim根本不同時,這會非常令人討厭。 誠然,有人可能想讓它們保持某種同步,但是鑒於我不想要那樣,如何使vim延伸到整個窗口? 下面的屏幕快照說明了該問題。

在此處輸入圖片說明

看起來您的終端允許以小於單個行/列的增量來調整大小。

另一方面,Vim僅繪制完整的行或列。 因此,當Vim顯示其窗口時,不會在終端中繪制部分可見的行/列。

您只有兩種解決方案:

  • 為終端仿真器的背景和Vim的背景設置相同的顏色,

  • 或刪除Vim的背景色。

Vim,您的shell和每個命令行程序都將屏幕划分為一個網格,每個單元格都是一個字符的大小。 如果GUI窗口的大小(以像素為單位)不適合您外殼的網格大小,則會出現難看的填充。

例:

  • 我的單元格大小是7x19,顯示屏是1680x1050,
  • 我可以容納240列和55行,但在屏幕底部始終會填充5個像素。

另外,大多數終端模擬器在可用屏幕周圍添加默認填充以增加清晰度,因此當在終端模擬器中運行時,您將永遠無法使Vim真正全屏顯示。

我最近寫了一篇中型文章,可以從視覺上幫助解決此問題。 鏈接

解決此問題的一種方法是在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"
}

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

並不是說VIM不能滿足要求。 它是。 您看到的是幫助文本。 幫助文本居中。 一旦進入插入模式或運行命令,它就會消失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM