Как заставить gvim развернуться в Windows?

15

Мне бы хотелось, чтобы мои редакторы предоставляли мне как можно больше экранного пространства, поскольку это увеличивает мою способность видеть большую часть кода одновременно.

Проблема в том, что gvimмне кажется, что у меня либо окно 80х25, либо запоминается последний не максимизированный размер, в зависимости от того, как я его вызываю.

Итак, как я могу заставить его быть настолько большим, насколько это возможно, независимо от какого-либо запомненного состояния?

200_success
источник
На самом деле я порекомендую подключаемый модуль github.com/xolox/vim-shell , который работает для gvim на win32 и win64, с переключателем <F11> между полноэкранным / нормальным режимом
van abel,

Ответы:

21

Вы можете поставить эту строку:

autocmd GUIEnter * simalt ~x

в конце вашего gvimrcфайла.

Этот метод использует autocmdфункцию, чтобы сплести свою магию. Команда autocmd GUIEnter *задает команду для запуска после успешного запуска графического интерфейса для шаблона файла *(любой файл).

Команда, которую она выполнит simalt ~x(только в вариантах Windows vim), будет имитировать нажатие клавиш Alt Spacebarx, которые представляют собой нажатия клавиш, которые максимизируют окно.

Вы также можете использовать сокращенную версию:

au GUIEnter * sim ~x

но я предпочитаю полностью развернутые команды, тем более что это то, что вы устанавливаете и забываете, вводя только один раз при установке vimв систему Windows.


Имейте в виду, что это симуляция нажатий клавиш для достижения своих целей. В английских версиях он будет работать нормально, так Alt-SpaceXкак вы максимизируете окно.

Если это не работает для вас, вы должны исследовать нажатия клавиш в любой локали, которую вы используете. Например, французская версия будет использовать Agrandir(увеличить) с nклавишей управления, поэтому вам понадобится следующая команда:

autocmd GUIEnter * simalt ~n

(что на самом деле минимизирует ваше окно на английском языке).

Если вы используете другой (не английский, не французский) вариант, просто нажмите Alt-Spaceв окне, чтобы открыть системное меню, и выясните, какую клавишу следует использовать (она должна быть подчеркнута).


Чтобы найти свой gvimrcфайл для добавления любой необходимой вам команды, вы можете ввести:

:version
:echo $VIM
:echo $HOME

и вы должны получить список файлов запуска и переменных, таких как:

system gvimrc file = "$VIM/gvimrc"
  user gvimrc file = "$HOME/_gvimrc"

C:\Program Files (x86)\Vim
C:\Users\Pax\Documents

источник
В вашей сокращенной версии autocmd отсутствует *.
Jamessan
Этот метод не работает для меня: вместо увеличения окна он открывает всплывающее меню, позволяющее восстановить, переместить, свернуть, развернуть (...) окно. Я использую Windows 7 SP1 и gvim 7.4.711. Как я могу заставить это работать?
statox
@statox, вот что ты увидишь, если остановишься xс конца. Убедитесь, что у вас есть полный текст au GUIEnter * sim ~x.
@paxdiablo Я не уверен, что понял, что скопировал всю строку (длинную и короткую) из auв ~x. Я пропускаю символ пробела или что-то в этом роде?
statox
@statox, когда у вас открыто окно gvim и вы щелкаете мышью по системной кнопке (значок vim, самый верхний левый, над меню файла), вы видите максимизацию? Когда это системное меню открыто, оно увеличивается при нажатии x?
7

В качестве альтернативы максимизированному окну, почему бы не получить больше места для полноценного многооконного редактирования в vim с режимом автозапуска FULL SCREEN? ;-)

Скриншот ПОЛНОГО ЭКРАНА окончательного результата (= ВСЕ ВИДЕО пикселей): скриншот полноэкранного видео

На мой взгляд, это лучше, чем максимизировать Windows: полный экран (как я делал с puTTY с ALT-Enter при редактировании на удаленном терминале Unix ...)

Я объясняю, как:

Шаг 1

Установите отличную красивую утилиту, чтобы разрешить полноэкранное использование в gvim в Windows

https://github.com/derekmcloughlin/gvimfullscreen_win32/tree/master

Вам нужно скачать DLL-файл gvimfullscreen.dll и поместить его в тот же каталог, где находится gvim.exe ($ VIM / vim74 с выпуском gVim 7.4). Чтобы загрузить DLL (без использования git):

https://github.com/derekmcloughlin/gvimfullscreen_win32/raw/master/gvimfullscreen.dll

Шаг 2

Отредактируйте файл .vimrc (внутри vim:) :e $HOME/.vimrc, вставив эти команды для автоматического запуска в полноэкранном режиме и позволяя функциональной клавише F11 переключать режимы между 3 состояниями: полноэкранный режим, окно развернуто, размер окна оригинал / по умолчанию:

"run the command immediately when starting vim
autocmd VimEnter * call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)

" activate/deactivate full screen with function key <F11>  
map <F11> <Esc>:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>

Шаг 3

Отредактируйте файл .gvimrc (внутри vim :),:split $HOME/.gvimrc вставив эти команды, чтобы избежать строки меню и ненужных вещей:

set guioptions-=m  "remove menu bar
set guioptions-=T  "remove toolbar
set guioptions-=r  "remove right-hand scroll bar
set guioptions-=L  "remove left-hand scroll bar
Джорджио Робино
источник
Есть ли gvimwin64fullscreen? или мы можем скомпилировать его используя проект на github?
Ван Абель
Да, я нашел его здесь: github.com/derekmcloughlin/gvimfullscreen_win32/blob/...
ван Абель
2

От :help 'lines':

Количество строк в окне Vim.
[...]
Когда Vim работает в графическом интерфейсе или в окне с изменяемым размером, установка этой опции приведет к изменению размера окна.
[..]
Вы можете использовать эту команду, чтобы получить самое высокое окно:
:set lines=999

columnsВариант делает то же самое, по ширине (в символах) , за исключением.

Например, вы можете поместить это в свой файл vimrc:

set lines=55
set columns=120

Это не то же самое, что максимизация (даже если вы используете 999значение, как описано выше), поскольку «максимизация» - это специальный флаг, помещаемый в окно, и слегка изменяет некоторые операции (например, перемещение), но это должно решить вашу проблему иметь маленький размер окна 80x25 по умолчанию.

Мартин Турной
источник
Это не так уж плохо, хотя это дает 234x56окно в моей системе, в то время как максимизация дает 236x57. Тем не менее, будучи короткие два столбца и одной строки в том , что размер не слишком много вопрос, особенно за то , что может работать в не-Windows - платформ , а также, хотя я на самом деле не проверял. Я посмотрю сегодня вечером, когда вернусь домой к своей любимой коробке Debian :-)
В моем Debian окно по умолчанию - 200x50, для всех строк и столбцов значение 999 в любом из них vim, в файле rc или с, gvim -c 'set them'дает мне 236x61, а при максимизации - 237x61, что еще ближе, чем в Windows. Интересно, что gvim -geometry 999x999дает мне развернутое окно с немного большим размером, так что это может быть лучше для не-Windows, хотя я подозреваю, что будет труднее гарантировать, что все методы вызова используют это. Жаль, что для не-выигрышных платформ нет ничего подобного.
Тем не менее, он стоит некоторого повторения, поскольку он достаточно близок и более переносим, ​​чем метод «только для победы». Кстати, использование 9999x9999 в качестве геометрии приводит в бешенство, vimпоскольку ей не нравятся окна с размерами более 64K пикселей (в данном случае геометрия - это символьные ячейки, а не пиксели). 999x999, кажется, работает хорошо. Не уверен, как это будет происходить в системах с несколькими мониторами.
Да, этот метод не идеален, но, как вы упомянули, он кроссплатформенный, а также может быть быстрее (запуск инструментов командной строки при запуске может вызвать небольшую задержку в Windows Vim, по крайней мере, так и было) когда я использовал это несколько лет назад).
Мартин Турной
Установив столбцы / линии , вы получите 160 x 42форму окна, приближающуюся к золотому сечению , и вы получите удивительный результат 42!
roblogic
0

В дополнение к командам, специфичным для gVim в других ответах, есть пара стандартных функций Windows для максимального запуска любого приложения.

Если вы запускаете gVim из ярлыка, например из меню «Пуск» или с рабочего стола, вы можете изменить свойства ярлыка, чтобы запускать Vim в развернутом виде. Щелкните правой кнопкой мыши ярлык, выберите «Свойства» и выберите «Развернуто» в раскрывающемся списке «Выполнить». Однако это повлияет только на этот ярлык, поэтому gVim будет по-прежнему открываться в небольшом окне, если оно запущено из другого ярлыка, из диалогового окна «Выполнить» или из командной строки.

Если вы начинаете GVim из командной строки или пакетного файла, вы можете использовать CMD в startкоманду: start "" /max "C:\Program Files (x86)\Vim\vim73\gvim.exe". ( ""Требуется, если указан путь к gvim.exe. Если вы используете путь без кавычек без пробелов, вы можете его опустить:. start /max C:\Progra~2\Vim\vim73\gvim.exe)

Lithis
источник
Я не знаю, какова команда по умолчанию start, но я переписал свой PATH, и теперь у него startесть mingsys , так что будьте осторожны, вы запускаете правильный
TankorSmash
Я пробовал это ("из ярлыка ... выберите развернуто"). Окно вспыхнуло, а затем появилось того же размера, что и при запуске из оболочки DOS cmd. Чтобы быть справедливым, в моем .vimrc есть команды, которые явно устанавливают размер (строки / столбцы), поэтому я подозреваю, что последний отменяет попытку максимизировать.
Богатые р
Подобные вещи также существуют в зависимости от некоторых оконных менеджеров Linux. Например, мне нравится, когда мои окна Vim имеют полную высоту, но два моих монитора имеют высоту 1024 пикселя, а центральный - 1080 пикселей. Настройка запуска Vim на максимальную ширину по вертикали с помощью панели управления KDE «Window Rules» гарантирует, что размер gVim изменится в соответствии с его перемещением с монитора на монитор. (Это также имеет дополнительное преимущество переопределения linesнастроек, так что я могу оставить это в gvimrcкачестве запасного варианта для систем, где я не настроил такую ​​подстройку.)
ssokolow