¿Cómo obtengo gvim para comenzar a maximizar en Windows?


15

Me gustaría que mis editores me dieran la mayor cantidad de espacio en pantalla posible, ya que aumenta mi capacidad de ver la mayor parte del código a la vez.

El problema es que gvimparece darme una ventana de 80x25 o recordar el último tamaño no maximizado, dependiendo de cómo lo invoque.

Entonces, ¿cómo puedo forzarlo a ser lo más grande posible, independientemente de cualquier estado recordado?


De hecho, recomendaré el complemento github.com/xolox/vim-shell , que funciona para gvim en win32 y win64, con <F11> Alternar entre pantalla completa / modo normal
van abel

Respuestas:


21

Puedes poner esta línea:

autocmd GUIEnter * simalt ~x

al final de su gvimrcarchivo.

Este método usa la autocmdfunción para tejer su magia. El comando autocmd GUIEnter *especifica un comando para ejecutar después de iniciar correctamente la GUI para un patrón de archivo de *(cualquier archivo).

El comando que ejecutará simalt ~x(solo en variantes de Windows vim) simulará la pulsación de teclas Alt Spacebarx, que son las pulsaciones de teclas que maximizarán la ventana.

También puede usar la versión abreviada:

au GUIEnter * sim ~x

pero prefiero los comandos completamente expandidos, especialmente porque es el tipo de cosas que configura y olvida, solo ingresando una vez cuando se instala vimen un sistema Windows.


Tenga en cuenta que esto es simular pulsaciones de teclas para lograr sus fines. En las versiones en inglés, funcionará bien, ya que Alt-SpaceXes cómo maximizar una ventana.

Si eso no funciona para usted, debe investigar las pulsaciones de teclas en la configuración regional que esté utilizando. Por ejemplo, la versión en francés usará Agrandir(agrandar) con la ntecla de control, por lo que el comando que necesitaría allí es:

autocmd GUIEnter * simalt ~n

(que en realidad minimizaría su ventana en inglés).

Si tiene alguna otra variante (no inglesa, no francesa), simplemente presione Alt-Spaceen una ventana para que aparezca el menú del sistema y descubra qué tecla debe usarse (debe estar subrayada).


Para encontrar su gvimrcarchivo para agregar cualquier comando que necesite, puede ingresar:

:version
:echo $VIM
:echo $HOME

y debería obtener una lista de archivos de inicio y variables como:

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

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

Su versión abreviada de autocmd no tiene el *.
jamessan

Este método no funciona para mí: en lugar de maximizar la ventana, abre un menú emergente que permite restablecer, mover, minimizar, maximizar (...) la ventana. Estoy usando Windows 7 SP1 y gvim 7.4.711. ¿Cómo puedo hacer que funcione?
statox

@statox, eso es lo que verías si lo dejaras xdesde el final. Asegúrate de tener el texto completoau GUIEnter * sim ~x .

@paxdiablo No estoy seguro de entender que copié la línea completa (versión larga y corta) de aua ~x. ¿Hay un carácter de espacio en blanco que me falta o algo así?
statox

@statox, cuando tiene una ventana de gvim abierta y hace clic con el mouse en el botón del sistema (el ícono de vim más arriba a la izquierda, arriba del menú de archivo), ¿ve una maximización? Cuando ese menú del sistema está abierto, ¿se maximiza cuando presiona x?

7

En alternativa a la ventana maximizada, ¿por qué no ganar más espacio para una experiencia de edición completa de ventanas múltiples vim con un modo de PANTALLA COMPLETA de inicio automático? ;-)

Captura de pantalla de PANTALLA COMPLETA del resultado final (= TODA LA capacidad de píxeles del VIDEO): captura de pantalla de video a pantalla completa

En mi opinión, eso es mejor que maximizar Windows: una PANTALLA COMPLETA completa (como solía hacer con puTTY con ALT-Enter al editar en un terminal remoto de Unix ...)

Te explico cómo:

Paso 1

Instale la excelente utilidad hermosa para permitir el uso de pantalla completa en gvim en Windows:

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

Debe descargar el archivo DLL gvimfullscreen.dll y colocarlo en el mismo directorio donde está gvim.exe ($ VIM / vim74 con la versión 7.4 de gVim). Para descargar la DLL (sin usar git):

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

Paso 2

Edite el archivo .vimrc (dentro de vim :):e $HOME/.vimrc , insertando estos comandos para iniciar automáticamente la pantalla completa y permitiendo que una tecla de función F11 alterne modos entre 3 estados: pantalla completa, ventana maximizada, tamaño de ventana original / predeterminado:

"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>

Paso 3

Edite el archivo .gvimrc (dentro de vim :):split $HOME/.gvimrc insertando estos comandos para evitar la barra de menú y cosas inútiles:

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

¿Hay una pantalla gvimwin64fullscreen? o podemos compilarlo usando el proyecto en github?
van abel


2

De :help 'lines':

Número de líneas de la ventana de Vim.
[...]
Cuando Vim se está ejecutando en la GUI o en una ventana redimensionable, configurar esta opción hará que cambie el tamaño de la ventana.
[..]
Puede usar este comando para obtener la ventana más alta posible:
:set lines=999

La columnsopción hace lo mismo, excepto por el ancho (en caracteres).

Entonces, por ejemplo, podría poner esto en su archivo vimrc:

set lines=55
set columns=120

Esto no es lo mismo que ser maximizado (incluso si usa el 999valor como se describe anteriormente), ya que "ser maximizado" es una bandera especial colocada en la ventana, y cambia sutilmente algunas operaciones (como moverse), pero debería resolver su problema de tener una ventana pequeña de 80x25 de forma predeterminada.


Eso no es tan malo, aunque da una 234x56ventana en mi sistema mientras que maximizar da 236x57. Aún así, ser corto de dos columnas y una fila de ese tamaño no es un gran problema, especialmente para algo que también puede funcionar en plataformas que no son de Windows, aunque en realidad no lo he probado.

Con mi Debian, la ventana predeterminada es 200x50, configurando líneas y columnas a 999 en cualquiera de vimsí mismo, el archivo rc o con gvim -c 'set them'me da 236x61 y maximizando da 237x61, por lo que aún más cerca que en Windows. Curiosamente, gvim -geometry 999x999me da una ventana maximizada en el tamaño ligeramente más grande para que pueda ser mejor para los que no son de Windows, aunque sospecho que será más difícil garantizar que todos los métodos de invocación lo usen. Lástima que no haya una cosa de tipo simalt para plataformas no Win.

Aún así, vale la pena repetirlo, ya que se acerca lo suficiente y es más portátil que el método de solo ganar. Por cierto, usar 9999x9999 como geometría se asusta, vimya que no le gustan las ventanas con dimensiones superiores a 64K píxeles (la geometría son celdas de caracteres en este caso en lugar de píxeles). 999x999 parece funcionar bien. No estoy seguro de cómo sería esto en un sistema de monitores múltiples.

Sí, este método no es perfecto, pero como mencionaste, es multiplataforma y también puede ser más rápido (la ejecución de herramientas de línea de comandos al inicio puede causar un poco de retraso en Windows Vim, al menos, ese fue el caso cuando lo usé hace unos años).
Martin Tournoij

Al configurar las columnas / líneas para 160 x 42obtener una forma de ventana que se aproxima a la proporción dorada , ¡obtienes la genialidad de 42!
roblogic

0

Además de los comandos específicos de gVim en las otras respuestas, hay un par de características estándar de Windows para iniciar cualquier aplicación maximizada.

Si está mirando gVim desde un acceso directo, como desde el menú Inicio o el escritorio, puede cambiar las propiedades del acceso directo para iniciar Vim maximizado. Haga clic con el botón derecho en el acceso directo, elija Propiedades y seleccione Maximizado en la lista desplegable Ejecutar. Sin embargo, esto solo afectará ese acceso directo, por lo que gVim aún se abrirá en una pequeña ventana si se inicia desde otro acceso directo, el cuadro de diálogo Ejecutar o la línea de comandos.

Si usted está comenzando gVim desde la línea de comandos o un archivo por lotes, puede utilizar de CMD startcomando: start "" /max "C:\Program Files (x86)\Vim\vim73\gvim.exe". (Se ""requiere si se indica la ruta a gvim.exe. Si utiliza una ruta sin espacios sin comillas, puede omitirla:. start /max C:\Progra~2\Vim\vim73\gvim.exe)


No sé cuál es el startcomando predeterminado , pero sobrescribí mi RUTA y ahora mingsys startestá allí, así que tenga cuidado de que esté ejecutando el correcto
TankorSmash

Intenté esto ("desde un acceso directo ... seleccione Maximizado"). La ventana se iluminó y luego apareció del mismo tamaño que al comenzar desde un shell de cmd de DOS. Para ser justos, tengo comandos en mi .vimrc que establecen explícitamente un tamaño (líneas / columnas), por lo que sospecho que este último anula el intento de maximizar.
rico p

Este tipo de cosas también existe en función de algunos administradores de ventanas de Linux. Por ejemplo, me gusta que mis ventanas Vim sean de altura completa, pero dos de mis monitores tienen una altura de 1024 px, mientras que la central tiene una altura de 1080 px. Configurar Vim para que se inicie verticalmente maximizado utilizando el panel de control "Reglas de ventana" de KDE asegura que gVim cambiará de tamaño para que coincida a medida que se mueve de monitor a monitor. (También tiene el beneficio adicional de anular la linesconfiguración, por lo que puedo dejar eso gvimrccomo un recurso alternativo para los sistemas en los que no configuré tal ajuste.)
ssokolow
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.