Wie starte ich gVim maximized?

38

Wie kann ich festlegen, dass gVim das Fenster beim Öffnen automatisch maximiert? Und als plattformübergreifende Lösung versuche ich, die gleichen Konfigurationen auf einem Linux- und Windows-Computer zu verwenden ...

Ich habe den Hack ausprobiert :set lines=999 columns=999, es funktioniert fast, aber das Fenster ist nicht maximiert, nur die Größe geändert und ich verliere einige Zeilen / Spalten.

Jemand verwendet Sie immer noch MS-DOS
quelle
3
Das ist der tragbarste Weg, den ich kenne. Könnten Sie auf die "aber das Fenster ist nicht maximiert, nur die Größe geändert und ich verliere einige Zeilen / Spalten". Maximierung ist afaik und ändert die Größe bis zu den Rändern. Und ich glaube nicht, dass ich jemals eine Reihe / Spalte auf diese Weise verloren habe.
Turm
@Idigas: Richtig, die Maximierung ist nur "Größe ändern, bis der verfügbare Speicherplatz voll ist (keine Symbolleisten usw.)", ausgedrückt als wm-speak :)
akira
Wenn Sie den obigen Hack setzen, wird die Größe erst an den Rändern geändert. Ich fange an zu denken, dass der bessere Ansatz ein if in meinem vimrc hinzufügen wird: Wenn es Windows wäre, rufe eine Konfiguration auf, sonst rufe eine andere Konfiguration auf.
Jemand benutzt Sie immer noch MS-DOS

Antworten:

30

Aus dem Vim-Wiki :

au GUIEnter * simalt ~x

Das funktioniert unter Windows. Ich bin mir nicht sicher, welche Tastenkombinationen Sie für Gnome / KDE benötigen würden.

njd
quelle
Dies hat bei mir unter Windows 7 Ultimate nicht funktioniert.
Matt Alexander
2
Es hängt leider auch von der Betriebssystemsprache ab. Für französische Windows-Versionen wird es au GUIEnter * simalt ~n.
ereOn
Gibt es eine Möglichkeit, das Gegenteil zu tun, die Maximierung aufzuheben? Scheint, als ob es :simalt ~xnur in eine Richtung unter Windows7x64 ENG funktioniert.
TankorSmash
1
~xKommt von Tastaturkürzel für Menüoption. Überprüfen Sie die Option Verknüpfung für Wunsch und versuchen Sie es. Vielleicht ist es Restore?
Grzegorz Gierlik
@GrzegorzGierlik Danke, du hast recht. Mir war nicht klar, dass dies simaltbedeutet, den Tastendruck zu simulieren. Vielen Dank.
TankorSmash
10

Der beste Weg, wenn Sie sich Gedanken über die plattformübergreifende Kompatibilität machen, ist set lines=999 columns=999. Ich habe es in Vims Wiki gefunden und obwohl es nicht perfekt ist, ist es die beste Lösung, wenn Sie auf verschiedenen Betriebssystemen arbeiten müssen.

Jemand verwendet Sie immer noch MS-DOS
quelle
Kannst du das mit au GUIEnter * simalt ~ x kombinieren ??
Snitzr
Ja, Sie müssen in Ihrem vimrc eine Bedingung erstellen, um festzustellen, ob es sich um Windows oder Linux handelt. Da ich hauptsächlich Linux benutze, werde ich diese Konfiguration später hinzufügen.
Jemand verwendet Sie immer noch MS-DOS
Dieser Ansatz funktioniert unter GNOME 3 nicht. Wenn das Fenster bereits nicht maximiert war, verlangsamt dies Vim für eine Weile (dies tritt nicht auf, wenn ich mit dem Fenstermanager maximiere) und lässt einen kleinen Rand darüber das Fenster hat sich geöffnet, weil meine Bildschirmhöhe kein perfektes Vielfaches der Zeilenhöhe ist. Wenn das Fenster vertikal (aber nicht horizontal) maximiert wurde, indem das Fenster nach links oder rechts auf den Bildschirm gezogen wurde, hat dies keine Auswirkung.
Andres Riofrio
@AndresRiofrio In diesen Situationen (mehrere Desktop-Umgebungen unter Linux) denke ich ernsthaft über die Verwendung von devilspie nach . Ich weiß, es ist eine Lösung von Drittanbietern, aber es könnte funktionieren. Ich habe es in einigen anderen Anwendungen verwendet, die ich maximiert öffnen wollte.
Jemand verwendet Sie immer noch MS-DOS
Dadurch wird das Fenster auch riesig, wenn Sie die Maximierung aufheben.
Kevin Cox
6

Trick mit:

au GUIEnter * simalt ~x

hängt von der Windows-Sprache ab.

Für meine polnische Version funktioniert:

au GUIEnter * simalt ~ s

Woher skommt Mak_s_ymalizuj.

Wenn ~xdies nicht funktioniert, drücken Sie ALT+SPACE, um das Fenstermenü zu öffnen, und überprüfen Sie die Verknüpfung für die Menüoption Ma_x_imize Window .

Grzegorz Gierlik
quelle
1
Und ~ n für Französisch ("Agra & ndir")
Sébastien RoccaSerra
1
Und ~ m für Norwegisch
Bjarte Brandt
4

Sie können verwenden maximize.dll Plugin für Vollbild veiw auf Vim (wenn Sie Windows verwenden). Kopieren Sie einfach maximize.dll in den vimdirectory/pluginOrdner.

Fatihturan
quelle
3

Hat für mich :simalt ~xden Trick gemacht. (Windows 7, Englisch.)

Per Christian Corneliussen
quelle
3

Unter GNU / Linux

Unter GNU / Linux ist es am einfachsten, gvimmit der -geometryOption aufzurufen . Beispielsweise:

gvim -geometry 1336x744

Dies ist nicht praktisch, wenn Sie den gleichen Startbefehl auf verschiedenen Computern wiederverwenden möchten.

Hier ist, was ich jetzt auf mehreren Maschinen ohne Probleme verwende. Füge es einfach irgendwo hoch in deinem Kopf ein .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

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

Serge Stroobandt
quelle
Für Linux ist dies wahrscheinlich die beste Option. in .zshrc do alias v = "gvim -geometry 1366x768" und Sie sind für immer eingestellt.
Tanel Tammik
@TanelTammik Schau nochmal auf meine Antwort. Ich habe es wesentlich bearbeitet, um die bessere Lösung zu zeigen, die ich jetzt benutze. Danke fürs Up-Voting.
Serge Stroobandt
2

UPDATE: Für Linux-Benutzer habe ich eine viel bessere Lösung gefunden, die das Fenster wirklich maximiert: https://stackoverflow.com/questions/12448179/how-to-maximize-vims-windows-on-startup-with-vimrc

Die einzige Abhängigkeit ist wmctrl, aber es lohnt sich zu installieren.

Also, für Windows verwende ich maximize.dll Plugin (wie bereits von @fatihturan erwähnt) und für Linux I Verwendung wmctrl. Groß!

(aber ich kann wirklich nicht verstehen, warum gvim 2014 dieses Feature nicht sofort einsatzbereit hat)


Alte Antwort:


Für mich :set lines=999 columns=999funktioniert einfacher Hack auf meinem Linux Mint MATE mit zwei Monitoren schlecht. Ich habe normalerweise gvim auf dem sekundären Monitor geöffnet, es gibt keine Taskleiste, also sollte Vim den ganzen Bildschirm einnehmen. Wenn ich das tue :set lines=999 columns=999, verkleinert gvim diese Werte auf die Größe des primären Monitors. Daher ist unterhalb des gvim-Fensters ein kleiner Bereich ungenutzt. Es ist besser, wenn ich die Anzahl der echten Zeilen / Spalten einstelle: Maximieren Sie einfach Ihr Fenster "von Hand" und geben Sie :set lines?und ein :set columns?, um die erforderlichen Werte zu erhalten. Da ich zwei Monitore verwende, muss ich auch die Fensterposition angeben. Geben Sie also ein, :winposum die aktuelle Fensterposition abzurufen.

Und zweitens ist es besser, diese Einstellungen nicht nur auf die zu setzen .vimrc, sondern sie auszuführen, wenn die GUI geladen wird.

Also, letztes Rezept:

1) maximieren Sie Ihre Gvim von Hand und geben Sie drei Befehle tatsächlichen Werte zu erhalten: :winpos, :set lines?und :set columns?.

2) füge dies hinzu zu .vimrc:

function Maximize()

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

endfunction

autocmd GUIEnter * call Maximize()
Dmitry Frank
quelle
Interessant. Möglicherweise können Sie die Zeilen- und Spaltenwerte dynamisch in Vimscript abrufen, sodass diese Konfiguration auf allen Geräten funktioniert.
Jemand benutzt Sie immer noch MS-DOS
1

Ubuntu (16.04)

Lassen Sie den Window-Manager diese Aufgabe besser erledigen, zumindest in Ubuntu . Er wird den gesamten Bildschirm anzeigen, gvimanstatt das Fenster zu maximieren, sodass Sie mehr Platz haben. Natürlich ist diese Lösung plattformabhängig und nicht plattformübergreifend, aber für Ubuntu ist sie eine viel bessere Option . Sie können sogar festlegen gvim, dass ein bestimmtes Ansichtsfenster geöffnet wird .

Compiz Config Settings Manager -> Fenster platzieren -> Feste Fensterplatzierung -> Fenster mit festem Platzierungsmodus -> Neu

 Windows class=Gvim
 Mode    Maximize

Wenn Sie keinen Compiz Config Settings Manager haben:

sudo apt install compizconfig-settings-manager
Janghou
quelle
1

Wenn Sie möchten, dass vim unter Windows (wie in der Abbildung) den Vollbildmodus ausführt, wird das Plugin gvimfullscreen_win32dringend empfohlen.

Das Plugin ermöglicht einen einfacheren Zugriff auf einen Vollbildmodus und eine ablenkungsfreie Umgebung. Sie können auch hinzufügen :set go=, um mehr Platz zu gewinnen. Hier ist ein Screenshot (Gvim7.4 unter Windows 8.1):

Bildbeschreibung hier eingeben

rahuldottech
quelle
0

Ich glaube, Sie können dies tun $HOME/.vimrc, um das zu erreichen, was Sie wollen:

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

Sie können wie folgt überprüfen, wo der Vollbildmodus angewendet wird:

:verbose set nofullscreen?
 fullscreen
       Last set from ~/.vim_runtime/my_configs.vim
slm
quelle
Sieht so aus, als würde das nur für MacVim funktionieren.
Michael Yoo