Stellen Sie die Spaltenbreite in `ibuffer` ein

16

Gibt es eine Möglichkeit, die Breite der Spalten in anzupassen ibuffer? Insbesondere möchte ich die Spalte Name erweitern, um mehr von den Puffernamen lesen zu können, bevor sie abgeschnitten werden. Ich habe versucht Buffer-menu-name-width, aber es scheint, dass die Buffer-menuVariablen nicht von verwendet werden ibuffer. Ich habe es auch versucht, M-x customize-group RET ibuffer RETaber nichts schien relevant zu sein.

Nispio
quelle

Antworten:

17

Wie in der Antwort von @ Sigma erwähnt, müssen Sie Anpassungen vornehmen ibuffer-formats. Der Dokumentationsstring enthält viele Details zum manuellen Ändern des Dokuments sowie Hinweise, dass Sie mit der customizeMaschine daran basteln können. Wenn Sie den elisp-Ansatz bevorzugen, können Sie die Standardeinstellungen an Ihren Geschmack anpassen, wobei sich die Zahlen nach der nameKomponente der Liste auf die minimale und maximale Breite der Spalten beziehen. Das Ändern der Spalte, in die sich das Namensfeld erstreckt, vom Standardwert von 18 auf 30 kann folgendermaßen erfolgen:

;; nearly all of this is the default layout
(setq ibuffer-formats 
      '((mark modified read-only " "
              (name 30 30 :left :elide) ; change: 30s were originally 18s
              " "
              (size 9 -1 :right)
              " "
              (mode 16 16 :left :elide)
              " " filename-and-process)
        (mark " "
              (name 16 -1)
              " " filename)))
Dan
quelle
Es sieht so aus, als ob Sie selbst dann, wenn Sie die customizeBenutzeroberfläche verwenden, immer noch elisp-Formulare schreiben (oder ändern), um das Customizing durchzuführen.
Nispio
5

Sie können anpassen ibuffer-formats, wodurch Sie unter anderem die Breite der Spalten definieren können. Außerdem können Sie verschiedene Formate definieren, was für die Inhalte, die nicht immer angezeigt werden sollen, praktisch ist.

Sigma
quelle
2

Wenn das, was Sie wichtig ist , die gesamte Puffer-Namen - Spalte zu sehen, speziell, können Sie es tun , ohne „customizing“ alles, durch Verwendung ibuffer-switch-format, gebunden `innerhalb ibuffer.

Die Funktion wechselt zwischen den durch angegebenen Alternativen ibuffer-formats. Standardmäßig stehen ibuffer-formatszwei Optionen zur Verfügung:

((mark modified read-only locked " "
       (name 18 18 :left :elide)
       " "
       (size 9 -1 :right)
       " "
       (mode 16 16 :left :elide)
       " " filename-and-process)
 (mark " "
       (name 16 -1)
       " " filename))

von denen die Sekunde die Breite der Namensspalte nicht einschränkt.

Im Allgemeinen customizewird benötigt, wie in den Antworten von Sigma und Dan angegeben .

Applaus
quelle