Comment puis-je obtenir gvim pour démarrer maximisé dans Windows?


15

J'aimerais que mes éditeurs me donnent autant d'espace d'écran que possible car cela augmente ma capacité à voir la plupart du code à la fois.

Le problème est que cela gvimsemble me donner une fenêtre 80x25 ou me souvenir de la dernière taille non maximisée, selon la façon dont je l'invoque.

Alors, comment puis-je le forcer à être aussi grand que possible, indépendamment de tout état mémorisé?


Je recommanderai en fait le plugin github.com/xolox/vim-shell , qui fonctionne pour gvim sur win32 et win64 à la fois, avec <F11> Basculer entre le mode plein écran / normal
van abel

Réponses:


21

Vous pouvez mettre cette ligne:

autocmd GUIEnter * simalt ~x

à la fin de votre gvimrcdossier.

Cette méthode utilise la autocmdfonction pour tisser sa magie. La commande autocmd GUIEnter *spécifie une commande à exécuter après avoir correctement démarré l'interface graphique pour un modèle de fichier de *(n'importe quel fichier).

La commande qu'il exécutera simalt ~x(dans les variantes Windows vimuniquement) simulera la frappe Alt Spacebarx, qui sont les frappes qui maximiseront la fenêtre.

Vous pouvez également utiliser la version raccourcie:

au GUIEnter * sim ~x

mais je préfère moi-même les commandes entièrement développées, d'autant plus que c'est le genre de chose que vous définissez et oubliez, n'entrer qu'une seule fois lors de l'installation vimsur un système Windows.


Gardez à l'esprit qu'il s'agit de simuler des frappes afin d'atteindre ses objectifs. Sur les versions anglaises, cela fonctionnera très bien car Alt-SpaceXc'est ainsi que vous maximisez une fenêtre.

Si cela ne fonctionne pas pour vous, vous devez rechercher les frappes dans les paramètres régionaux que vous utilisez. Par exemple, la version française utilisera Agrandir(agrandir) avec ncomme touche de contrôle, donc la commande dont vous auriez besoin est:

autocmd GUIEnter * simalt ~n

(qui serait en fait minimiser la fenêtre en anglais).

Si vous êtes une autre variante (non anglaise, non française), appuyez simplement Alt-Spacesur une fenêtre pour afficher le menu système et découvrez quelle touche doit être utilisée (elle doit être soulignée).


Pour trouver votre gvimrcfichier pour ajouter la commande dont vous avez besoin, vous pouvez entrer:

:version
:echo $VIM
:echo $HOME

et vous devriez obtenir une liste des fichiers de démarrage et des variables comme:

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

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

Votre version abrégée de l'autocmd ne contient pas le *.
jamessan

Cette méthode ne fonctionne pas pour moi: au lieu de maximiser la fenêtre, elle ouvre un menu contextuel permettant de restaurer, déplacer, minimiser, maximiser (...) la fenêtre. J'utilise Windows 7 SP1 et gvim 7.4.711. Comment puis-je le faire fonctionner?
statox

@statox, c'est ce que vous verriez si vous laissiez xde côté la fin. Assurez-vous d'avoir le texte intégral au GUIEnter * sim ~x.

@paxdiablo Je ne suis pas sûr de comprendre que j'ai copié la ligne complète (version longue et courte) de auà ~x. Y a-t-il un caractère d'espace qui me manque ou quelque chose comme ça?
statox

@statox, lorsque vous avez une fenêtre gvim ouverte et que vous cliquez avec la souris sur le bouton système (l'icône vim la plus en haut à gauche, au-dessus du menu fichier), voyez-vous une maximisation? Lorsque ce menu système est ouvert, est-il maximisé lorsque vous appuyez sur x?

7

En alternative à la fenêtre maximisée, pourquoi ne pas gagner plus d'espace pour une expérience d'édition multi-fenêtres vim complète avec un mode de démarrage automatique FULL SCREEN? ;-)

Capture d'écran plein écran du résultat final (= TOUTE la capacité en pixels de la vidéo): capture d'écran vidéo plein écran

À mon avis, c'est mieux qu'une maximisation de Windows: un écran complet complet (comme je le faisais avec puTTY avec ALT-Enter lors de l'édition sur un terminal Unix distant ...)

J'explique comment:

Étape 1

Installez l'excellent bel utilitaire pour permettre une utilisation en plein écran dans gvim sous Windows:

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

Vous devez télécharger le fichier DLL gvimfullscreen.dll et le placer dans le même répertoire que gvim.exe ($ VIM / vim74 avec la version 7.4 de gVim). Pour télécharger la DLL (sans utiliser git):

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

Étape 2

Modifiez le fichier .vimrc (dans vim :):e $HOME/.vimrc , en insérant ces commandes pour démarrer automatiquement en plein écran et en permettant à une touche de fonction F11 de basculer entre les modes entre 3 états: plein écran, fenêtre maximisée, taille d'origine / par défaut des fenêtres:

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

Étape 3

Modifiez le fichier .gvimrc (à l'intérieur de vim :) en:split $HOME/.gvimrc insérant ces commandes pour éviter la barre de menus et les trucs inutiles:

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

Existe-t-il un gvimwin64fullscreen? ou pouvons-nous le compiler en utilisant le projet sur github?
van abel


2

De :help 'lines':

Nombre de lignes de la fenêtre Vim.
[...]
Lorsque Vim s'exécute dans l'interface graphique ou dans une fenêtre redimensionnable, la définition de cette option entraînera une modification de la taille de la fenêtre.
[..]
Vous pouvez utiliser cette commande pour obtenir la fenêtre la plus haute possible:
:set lines=999

L' columnsoption fait de même, sauf pour la largeur (en caractères).

Vous pouvez donc, par exemple, mettre ceci dans votre fichier vimrc:

set lines=55
set columns=120

Ce n'est pas la même chose que d'être maximisé (même si vous utilisez la 999valeur décrite ci-dessus), car "être maximisé" est un indicateur spécial placé sur la fenêtre, et modifie subtilement certaines opérations (comme le déplacement), mais cela devrait résoudre votre problème d'avoir une petite taille de fenêtre 80x25 par défaut.


Ce n'est pas trop mal, même si cela donne une 234x56fenêtre sur mon système alors que la maximisation donne 236x57. Pourtant, être deux colonnes et une ligne courtes à cette taille n'est pas trop un problème, en particulier pour quelque chose qui peut également fonctionner sur des plates-formes non Windows, même si je ne l'ai pas testé. J'irai voir ce soir quand je

Avec mon Debian, la fenêtre par défaut est de 200x50, définissant les lignes et les colonnes à 999 dans n'importe lequel de vimlui-même, fichier rc ou avec gvim -c 'set them'me donne 236x61 et maximisant donne 237x61, donc encore plus proche que sous Windows. Fait intéressant, cela gvim -geometry 999x999me donne une fenêtre maximisée à la taille légèrement plus grande, ce qui peut être mieux pour les non-Windows, bien que je pense qu'il sera plus difficile de garantir que toutes les méthodes d'invocation l'utilisent. Dommage qu'il n'y ait rien de type simalt pour les plates-formes non Win.

Pourtant, cela vaut la peine d'être répété car il se rapproche suffisamment et est plus portable que la méthode gagnant uniquement. Soit dit en passant, l'utilisation de 9999x9999 comme géométrie panique vimcar elle n'aime pas les fenêtres avec des dimensions supérieures à 64 Ko de pixels (la géométrie est dans ce cas des cellules de caractères plutôt que des pixels). 999x999 semble fonctionner correctement. Je ne sais pas comment cela se passerait dans un système multi-écrans.

Oui, cette méthode n'est pas parfaite, mais comme vous l'avez mentionné, elle est multiplateforme et elle peut également être plus rapide (l'exécution d'outils de ligne de commande au démarrage peut entraîner un peu de retard sur Windows Vim, du moins, c'était le cas) quand je l'ai utilisé il y a quelques années).
Martin Tournoij

La définition des colonnes / lignes 160 x 42donne une forme de fenêtre se rapprochant du nombre d' or , et vous obtenez l'impressionnant de 42!
roblogic

0

En plus des commandes spécifiques à gVim dans les autres réponses, il existe quelques fonctionnalités Windows standard pour lancer n'importe quelle application maximisée.

Si vous regardez gVim à partir d'un raccourci, tel que depuis le menu Démarrer ou le bureau, vous pouvez modifier les propriétés du raccourci pour démarrer Vim maximisé. Cliquez avec le bouton droit sur le raccourci, choisissez Propriétés et sélectionnez Maximisé dans la liste déroulante Exécuter. Cependant, cela n'affectera que ce raccourci, donc gVim restera ouvert dans une petite fenêtre s'il est lancé à partir d'un autre raccourci, de la boîte de dialogue Exécuter ou de la ligne de commande.

Si vous commencez gVim à partir de la ligne de commande ou un fichier de commandes, vous pouvez utiliser de CMD startde commande: start "" /max "C:\Program Files (x86)\Vim\vim73\gvim.exe". (Le ""est requis si le chemin d'accès à gvim.exe est cité. Si vous utilisez un chemin sans guillemets sans espaces, vous pouvez l'omettre:. start /max C:\Progra~2\Vim\vim73\gvim.exe)


Je ne sais pas quelle est la startcommande par défaut , mais j'ai remplacé mon PATH et maintenant mingsys startest là, alors méfiez-vous que vous exécutez la bonne
TankorSmash

J'ai essayé ceci ("à partir d'un raccourci ... sélectionnez Maximisé"). La fenêtre a clignoté, puis est apparue de la même taille qu'elle venait de le démarrer à partir d'un shell cmd DOS. Pour être honnête, j'ai des commandes dans mon .vimrc qui définissent explicitement une taille (lignes / colonnes), donc je soupçonne que ce dernier outrepasse la tentative de maximiser.
riche p

Ce genre de chose existe également en fonction de certains gestionnaires de fenêtres Linux. Par exemple, j'aime que mes fenêtres Vim soient à pleine hauteur, mais deux de mes moniteurs mesurent 1 024 pixels de haut, tandis que celui du centre mesure 1 080 pixels de haut. Le réglage de Vim pour démarrer verticalement maximisé à l'aide du panneau de configuration "Règles de fenêtre" de KDE garantit que gVim sera redimensionné pour correspondre lorsqu'il est déplacé d'un moniteur à l'autre. (Il a également l'avantage supplémentaire de remplacer le linesparamètre, donc je peux laisser cela dans mon gvimrccomme
solution de rechange
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.