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


15

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

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

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


На самом деле я порекомендую подключаемый модуль 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?
Ван Абель


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)


Я не знаю, какова команда по умолчанию start, но я переписал свой PATH, и теперь у него startесть mingsys , так что будьте осторожны, вы запускаете правильный
TankorSmash

Я пробовал это ("из ярлыка ... выберите развернуто"). Окно вспыхнуло, а затем появилось того же размера, что и при запуске из оболочки DOS cmd. Чтобы быть справедливым, в моем .vimrc есть команды, которые явно устанавливают размер (строки / столбцы), поэтому я подозреваю, что последний отменяет попытку максимизировать.
Богатые р

Подобные вещи также существуют в зависимости от некоторых оконных менеджеров Linux. Например, мне нравится, когда мои окна Vim имеют полную высоту, но два моих монитора имеют высоту 1024 пикселя, а центральный - 1080 пикселей. Настройка запуска Vim на максимальную ширину по вертикали с помощью панели управления KDE «Window Rules» гарантирует, что размер gVim изменится в соответствии с его перемещением с монитора на монитор. (Это также имеет дополнительное преимущество переопределения linesнастроек, так что я могу оставить это в gvimrcкачестве запасного варианта для систем, где я не настроил такую ​​подстройку.)
ssokolow
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.