Comment démarrer gVim maximisé?


38

Comment faire pour que gVim maximise automatiquement sa fenêtre lorsque je l'ouvre? Et une solution multi-plateformes, j'essaie d'utiliser les mêmes configurations sur une machine Linux et Windows ...

J'ai essayé le hack :set lines=999 columns=999, ça marche presque, mais la fenêtre n'est pas maximisée, juste redimensionnée et je perds quelques lignes / colonnes.


3
C'est la façon la plus portable que je connaisse. Pourriez-vous élaborer sur le "mais la fenêtre n'est pas maximisée, juste redimensionnée et je perds quelques lignes / colonnes". La maximisation se fait jusqu’à présent, en redimensionnant jusqu’aux bords. Et je ne pense pas avoir jamais perdu un rang / col de cette façon.
Rook

@ Idigas: correct, la maximisation consiste simplement à "redimensionner jusqu'à remplir l'espace disponible (sans couvrir les barres d'outils, etc.)", en termes de wm-speak :)
akira

Définir le hack ci-dessus ne redimensionne pas jusqu'aux bords. Je commence à penser que la meilleure approche va ajouter un if dans mon vimrc: si ce sont Windows, appelez une config, sinon, appelez une autre config.
Quelqu'un t'utilise encore MS-DOS

Réponses:


30

Du wiki Vim :

au GUIEnter * simalt ~x

Cela fonctionnera sous Windows. Je ne suis pas sûr des combinaisons de touches dont vous auriez besoin sous Gnome / KDE.


Cela n'a pas fonctionné pour moi sur Windows 7 Ultimate.
Matt Alexander

2
Cela dépend aussi tristement de la langue du système d'exploitation. Pour les versions Windows françaises, cela devient au GUIEnter * simalt ~n.
ereOn

Y a-t-il un moyen de faire le contraire, de dé-maximiser? On dirait :simalt ~xque cela ne fonctionne que dans un sens sur Windows7x64 ENG.
TankorSmash

1
~xvient du raccourci clavier pour l'option de menu. Vérifiez le raccourci pour l'option désir et essayez-le. Peut-être que c'est Restore?
Grzegorz Gierlik

@ GrzegorzGierlik Merci, vous avez raison. Je n'avais pas compris que cela simaltvoulait dire «simuler la touche Alt». Merci.
TankorSmash

10

Le meilleur moyen de vous préoccuper de la compatibilité entre plates-formes est set lines=999 columns=999. Je l'ai trouvé dans le wiki de Vim , et même s'il n'est pas parfait, c'est la meilleure solution si vous devez travailler sur différents systèmes d'exploitation.


Pouvez-vous combiner cela avec GUIEnter * simalt ~ x ??
Snitzr

Oui, créer une condition dans votre vimrc pour savoir s'il s'agit de Windows ou de Linux. Comme j'utilise principalement Linux, je vais ajouter cette configuration plus tard.
Quelqu'un t'utilise encore MS-DOS le

Cette approche ne fonctionne pas pour moi sous GNOME 3. Lorsque la fenêtre était déjà non maximisée, cela ralentirait Vim pendant un moment (cela ne se produit pas lorsque j'utilise au maximum le gestionnaire de fenêtres), et cela laissera un petit avantage au-dessus. la fenêtre découverte, car la hauteur de mon écran n’est pas un multiple parfait de la hauteur de la ligne. Lorsque la fenêtre est maximisée verticalement (mais pas horizontalement) en la faisant glisser vers la gauche ou la droite de l'écran, cela n'aura aucun effet.
Andres Riofrio

@AndresRiofrio Pour ces situations (environnements de bureau multiples sous Linux), je songe sérieusement à utiliser devilspie . Je sais que c'est une solution tierce, mais cela peut fonctionner. Je l'ai utilisé dans d'autres applications que je voulais être ouvert maximisé.
Quelqu'un t'utilise encore MS-DOS le

Cela a également pour effet que la fenêtre devient énorme si vous la maximisez.
Kevin Cox le

6

Trick avec:

au GUIEnter * simalt ~x

dépend de la langue de Windows.

Pour ma version polonaise fonctionne:

au GUIEnter * simalt ~ s

svient de Mak_s_ymalizuj.

Donc, si ~xcela ne fonctionne pas, appuyez sur ALT+SPACEpour ouvrir le menu Fenêtre et vérifiez le raccourci pour l' option de menu Fenêtre Ma_x_imize .


1
Et ~ n pour le français ("Agra & ndir")
Sébastien RoccaSerra

1
Et ~ m pour norvégien
Bjarte Brandt

4

Vous pouvez utiliser maximize.dll plug - in pour le plein écran veiw vim (si vous utilisez Windows). Il suffit de copier maxim.dll dans un vimdirectory/plugindossier.



3

Sur GNU / Linux

Sous GNU / Linux, le moyen le plus simple consiste à appeler gvimavec l' -geometryoption. Par exemple:

gvim -geometry 1336x744

Ce n'est pas pratique si vous souhaitez réutiliser la même commande de démarrage sur différentes machines.

Voici ce que j'utilise maintenant sur plusieurs machines sans aucun problème. Il suffit de l’ajouter quelque part dans votre haut .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

Source: http://vim.wikia.com/wiki/Maximize_or_set_initial_window_size


Pour Linux, c'est probablement la meilleure option. dans .zshrc, alias v = "gvim -geometry 1366x768" et vous êtes prêt pour de bon.
Tanel Tammik

@TanelTammik Revoyez ma réponse. Je l'ai considérablement modifié pour montrer la meilleure solution que j'utilise actuellement. Merci pour le vote positif.
Serge Stroobandt le

2

UPDATE: pour les utilisateurs de Linux, j'ai trouvé une solution bien meilleure qui optimise vraiment la fenêtre: https://stackoverflow.com/questions/12448179/how-to-maximize-vims-windows-on-startup-with-vimrc

La seule dépendance est wmctrl, mais cela vaut la peine d'être installé.

Alors, pour les fenêtres que j'utilise maximize.dll plugin (comme déjà mentionné par @fatihturan), et pour linux je wmctrl. Génial!

(mais je ne comprends vraiment pas pourquoi en 2014, gvim n'a pas cette fonctionnalité prête à l'emploi)


Ancienne réponse:


Pour moi, le hack simple :set lines=999 columns=999fonctionne mal sur mon Linux Mint MATE avec deux moniteurs. J'ai généralement ouvert gvim sur le moniteur secondaire, il n'y a pas de barre des tâches, donc, Vim devrait occuper tout l'écran. Mais si je le fais :set lines=999 columns=999, gvim réduit ces valeurs à la taille du moniteur principal . Par conséquent, il existe une petite zone inutilisée sous la fenêtre de gvim. Il est préférable de définir le nombre réel de lignes / colonnes: agrandissez simplement votre fenêtre "à la main" et tapez :set lines?-y :set columns?pour obtenir les valeurs nécessaires. Étant donné que j'utilise deux moniteurs, je dois également spécifier la position de la fenêtre. Tapez :winpospour obtenir la position actuelle de la fenêtre.

Et secondaire, il est préférable de ne pas simplement mettre ces paramètres dans le programme .vimrc, mais de les exécuter lorsque l'interface graphique est chargée.

Donc, recette finale:

1) maximiser votre gvim manuellement et tapez trois commandes pour obtenir des valeurs réelles: :winpos, :set lines?et :set columns?.

2) ajoutez ceci à .vimrc:

function Maximize()

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

endfunction

autocmd GUIEnter * call Maximize()

Intéressant. Peut-être que vous pouvez obtenir dinamically les valeurs des lignes et des colonnes dans vimscript, pour que cette configuration fonctionne dans tous les périphériques.
Quelqu'un t'utilise encore MS-DOS

1

Ubuntu (16.04)

Mieux vaut laisser le gestionnaire de fenêtres se charger de cette tâche, du moins sous Ubuntu , il passera en plein écran gvimau lieu de maximiser la fenêtre, ce qui vous donnera plus d’espace. Bien sûr, cette solution dépend de la plate-forme et non de la multiplicité, mais c'est une bien meilleure option pour Ubuntu . Vous pouvez même configurer gvimpour ouvrir sur une fenêtre spécifique .

Gestionnaire de paramètres Compiz Config -> Placer Windows -> Placement de fenêtre fixe -> Windows avec mode de placement fixe -> nouveau

 Windows class=Gvim
 Mode    Maximize

Si vous n'avez pas Compiz Config Settings Manager:

sudo apt install compizconfig-settings-manager

1

Si vous voulez que vim atteigne le plein écran sous Windows (comme sur l’image), le plugin gvimfullscreen_win32est vivement recommandé.

Le plugin permet un accès plus facile à un mode plein écran et à un environnement sans distraction. Vous pouvez également ajouter :set go=pour gagner plus d'espace. Voici une capture d'écran (Gvim7.4 sur Windows 8.1):

entrez la description de l'image ici


0

Je crois que vous pouvez le faire en $HOME/.vimrcréalisant ce que vous voulez:

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

Vous pouvez confirmer où le plein écran est appliqué comme ceci:

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

On dirait que cela ne fonctionne que pour MacVim.
Michael Yoo
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.