Ermittelt die Position der geteilten Fenster in einem vim-Editor

9

Ich habe versucht herauszufinden, wie man die Position / Koordinaten eines geteilten Fensters in einem vim-Editor-Fenster erhält, aber bisher kein Glück.

Sagen Sie zum Beispiel, ich habe dieses Layout

%Vor%

Ich möchte die Koordinaten der verschiedenen Splits meines Vim Window erhalten, ist das möglich?

Ich habe meine Hausaufgaben gemacht und googelte dies, ging auch durch die vim :help / :helpgrep

Dinge, die ich versucht habe, würden nicht funktionieren:

  • getwinposx() / getwinposy() : Sie funktionieren nicht am Terminal, und sie geben nicht die gewünschte Information zurück, sondern geben nur die Position des Host-Betriebssystemfensters zurück.

  • :winpos : Derselbe Grund wie der vorherige Punkt.

Roman Gonzalez 09.11.2011, 20:01
quelle

2 Antworten

4

Ich kenne keine Funktion, die das tut, aber hier sind einige Fakten:

  1. Fenstergröße kann mit winwidth(wnr) und winheight(wnr) erhalten werden.
  2. Die Anzahl der Fenster kann mit winnr('$') erreicht werden.
  3. Wenn 0<wnr≤winnr('$') , dann Fenster mit der Nummer wnr existiert.
  4. Gesamtbreite ist &columns und Gesamthöhe ist &lines .
  5. Windows ist durch einspaltige oder einzeilige Trennzeichen getrennt.

Um das Fensterlayout zu bekommen, fehlt Ihnen hier nur eine Tatsache: Wie Fenster nummeriert sind. Ich kann das jetzt nicht in der Hilfe finden.

%Vor%

gibt an, dass Fenster von oben links nach unten rechts nummeriert sind. Es ist jedoch nicht genug, um zu bestimmen, wie Windows nummeriert wird, nachdem die folgenden Befehle ausgeführt wurden:

%Vor%

Es scheint also so, als ob das Bestimmen des aktuellen Fensterlayouts nicht möglich ist, ohne Fensterbewegungsbefehle zu verwenden ( wincmd h/j/k/l ).

Vor einiger Zeit wurde eine zusätzliche Variante eingeführt: pyeval(printf('(lambda win: [win.col, win.row])(vim.windows[%s - 1])', winnr)) (auch py3eval(…) ) liefert die genaue Position der oberen linken Ecke des Fensters winnr . Benötigt Vim kompiliert mit +python[/dyn] oder +python3[/dyn] und Python selbst.

    
ZyX 12.11.2011 12:30
quelle
0

Ich denke, das einzige, was Ihnen helfen könnte, ist:

%Vor%

Ansonsten denke ich, dass Sie die spezifischen Koordinaten-Splits nicht bekommen können.

    
Grammin 09.11.2011 20:22
quelle

Tags und Links