37

Как сделать так, чтобы gVim автоматически увеличивал окно при его открытии? И кросс-платформенное решение, я пытаюсь использовать одни и те же конфигурации в Linux и Windows-машине ...

Я попробовал взломать :set lines=999 columns=999 , это почти работает, но окно не развернуто, просто изменен размер, и я теряю некоторые строки / столбцы.

10 ответов10

30

Из вики Vim:

au GUIEnter * simalt ~x

Это будет работать на Windows; Я не уверен, какие комбинации клавиш вам понадобятся в Gnome/KDE.

9

Наилучший способ, если вы беспокоитесь о кроссплатформенной совместимости, это set lines=999 columns=999 . Я нашел его в вики Vim, и, несмотря на то, что он не идеален, это лучшее решение, если вам нужно работать на разных операционных системах.

6

Трюк с:

au GUIEnter * simalt ~x

зависит от языка Windows.

Для моей польской версии работает:

au GUIEnter * simalt ~ s

Где поступает от s

Поэтому, если ~x не работает, нажмите ALT+SPACE чтобы открыть меню Окно и проверьте ярлык для опции меню Окна Ma_x_imize .

4

Вы можете использовать плагин maximize.dll для полноэкранного просмотра Vim (если вы используете Windows). Просто скопируйте файл maximize.dll в vimdirectory/plugin .

3

Для меня :simalt ~x сделал свое дело. (Windows 7, англ.)

2

ОБНОВЛЕНИЕ: для пользователей Linux, я нашел гораздо лучшее решение, которое действительно максимизирует окно: https://stackoverflow.com/questions/12448179/how-to-maximize-vims-windows-on-startup-with-vimrc

Единственная зависимость - это wmctrl , но ее стоит установить.

Так, для Windows я использую плагин maximize.dll (как уже упоминалось @fatihturan), а для Linux я использую wmctrl . Большой!

(но я действительно не могу понять, почему в 2014 году у gvim не было этой функции "из коробки")


Старый ответ:


Для меня простой взлом :set lines=999 columns=999 плохо работает на моем Linux Mint MATE с двумя мониторами. Я обычно открывал gvim на дополнительном мониторе, панели задач нет, поэтому Vim должен занимать весь экран. Но если я это сделаю :set lines=999 columns=999 , gvim сжимает эти значения до размера основного монитора, поэтому под окном gvim есть небольшая область, которая не используется. Лучше, если я установлю реальное количество строк / столбцов: просто разверните окно "вручную" и введите :set lines? и :set columns? , чтобы получить необходимые значения. Поскольку я использую два монитора, мне также нужно указать положение окна, поэтому введите :winpos чтобы получить текущую позицию окна.

И вторично, лучше не просто помещать эти настройки в .vimrc , а выполнять их при загрузке графического интерфейса.

Итак, окончательный рецепт:

1) разверните ваш gvim вручную и введите три команды, чтобы получить реальные значения :winpos :set lines? и :set columns? ,

2) добавить это в .vimrc :

function Maximize()

   " put your actual values below
   winpos 0 0
   set lines=78
   set columns=237

endfunction

autocmd GUIEnter * call Maximize()
2

В GNU/Linux

В GNU/Linux самый простой способ - вызвать gvim с опцией -geometry . Например:

gvim -geometry 1336x744

Это не удобно, если вы хотите использовать одну и ту же команду запуска на разных машинах.

Вот то, что я использую сейчас на нескольких машинах без каких-либо проблем. Просто добавьте это где-нибудь высоко в вашем .vimrc .

if has("gui_running")
  " GUI is running or is about to start.
  " Maximize gvim window (for an alternative on Windows, see simalt below).
  set lines=999 columns=999
else
  " This is console Vim.
  if exists("+lines")
    set lines=50
  endif
  if exists("+columns")
    set columns=100
  endif
endif

Источник: http://vim.wikia.com/wiki/Maximize_or_set_initial_window_size

1

Если вы хотите, чтобы vim полностью работал в Windows (как на картинке), настоятельно рекомендуется использовать плагин gvimfullscreen_win32 .

Плагин обеспечивает более легкий доступ к полноэкранному режиму и не отвлекает внимание. Вы также можете добавить :set go= чтобы получить больше места. Вот скриншот (Gvim7.4 на Windows 8.1):

1

Убунту (16.04)

Лучше пусть оконный менеджер выполнит эту задачу, по крайней мере, в Ubuntu, он будет использовать полноэкранный gvim вместо увеличения окна, предоставляя вам больше места. Конечно, это решение зависит от платформы, а не кроссплатформенно, но это гораздо лучший вариант для Ubuntu. Вы даже можете установить gvim для открытия в определенном окне просмотра.

Compiz Config Settings Manager -> Поместить Windows -> Фиксированное размещение окна -> Windows с режимом фиксированного размещения -> Новое

 Windows class=Gvim
 Mode    Maximize

Если у вас нет диспетчера настроек Compiz Config:

sudo apt install compizconfig-settings-manager
0

Я считаю, что вы можете сделать это в вашем $HOME/.vimrc чтобы добиться того, что вы хотите:

if has("gui_running")
     set fuoptions=maxvert,maxhorz
     au GUIEnter * set fullscreen
 endif

Вы можете подтвердить, где применяется полноэкранный режим, например:

:verbose set nofullscreen?
 fullscreen
       Last set from ~/.vim_runtime/my_configs.vim

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .