簡體   English   中英

為什么gVim會在某些操作后調整大小並重新定位?

[英]Why does gVim resize and reposition itself after some actions?

幾個星期前我開始使用gVim 從早期開始,我注意到當我執行某些操作時,完整的gVim窗口會有一些奇怪的大小調整。 我認為這與我使用Windows Aero Snap(在Windows 7 x64系統上)有關。

重現的步驟(使用空的.vimrc文件,重命名我的vimfiles文件夾):

  1. 我打開gvim
  2. 我把我的gvim窗口放在顯示器的左側(點擊幾下) win + 左箭頭
  3. 我使用:tabe創建一個新選項卡

結果: gVim在屏幕上重新定位自己。 所以我必須使用win + 左箭頭重新定位它。 很煩人。

我也可以使用其他制表符和窗口操作,例如:vnewCW o ,...

有人為什么會發生這種情況,以及我能做些什么來解決它? 我已經清空了我的.vimrc文件並臨時重命名了我的〜/ vimfiles文件夾以排除任何插件的干擾。

編輯 :關於Matthew的回復,以及關於:help bugs的信息,我發送了一個錯誤報告(實際上這篇文章)到bugs@vim.org

gvim可以在某些情況下執行此類操作,其中guioptions值會使GUI控件(如滾動條或標簽頁標簽)出現和消失。 嘗試命令:set guioptions?

如果顯示的值包括“L”或“R”(可選擇顯示垂直滾動條),則可能是您的罪魁禍首,您可以按照以下說明刪除該選項。

如果它包含'e',特別是如果:set showtabline? 顯示option = 1,這也可能導致問題,您可以使用以下方法更改任一設置。 (在這種情況下,只有至少有兩個選項卡時才會顯示選項卡標簽行。)

如果它們都不是這些,請嘗試發現GUI的哪些部分出現並在問題發生時消失,然后找到控制該行為的選項。

如果問題值為“L”,如何修復的示例:

L是默認設置,(來自幫助)

"egmrLtT"   (MS-Windows),
"aegimrLtT" (GTK, Motif and Athena).

因此,您可以運行以下命令之一來修復它:

:set guioptions-=L  "just remove L
:set guioptions=egmrtT    "explicitly set the options you want, as noted you might want to remove 'e' as well

您可以將其中一個命令添加到.vimrc文件中,以便始終設置它。


您肯定應該升級到以后的版本,自7.3.46以來,該區域肯定至少有一個錯誤。 也就是說,從7.3.703開始仍然存在問題。

眾所周知,“Vim without Cream”安裝是可靠的並保持最新狀態,並提供沒有Cream項目插件的Vim。 未來的讀者可能會發現只是通過升級來修復錯誤。

拉取請求剛剛合並到Vim 8.0.1278中 您現在可以將以下行添加到配置中以緩解此問題:

  • guioptions+=k

這樣做是為了避免在添加垂直分割,制表符等時調整窗口大小。這使得窗口大小通常更加一致,但也可以避免觸發Vim窗口固定到左/右側時提到的調整大小問題。

如果您不想使用此新選項,則問題在於Vim如何調整大小。 在Windows構建中,它使用恢復窗口的位置(這與它在最大化模式下固定到右側/左側的位置不同),因此每當代碼因任何原因嘗試調整Vim大小時它將重置位置為恢復的窗口位置。 這里有進一步的討論: https//github.com/vim/vim/issues/2180

暫無
暫無

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

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