Ändern Sie die Spaltenbreite in einem Emacs Ibuffer im laufenden Betrieb

7

Ist es möglich, die Spaltenbreite im laufenden Betrieb zu ändern emacs Ibuffer?

Schüler
quelle

Antworten:

6

Ändern Sie den Wert der ibuffer-Formate nach Ihren Wünschen, wechseln Sie dann zurück zum ibuffer-Fenster und drücken Sie 'g'. ibuffer-updatewird die Formatänderung bemerken und das Richtige tun. C-h v ibuffer-formats RETruft die Dokumentation für die Variable auf.

Beispiel:

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

Sie können dies in Ihre .emacs-Datei einfügen, um es später einfach ändern zu können. Wenn Sie möchten, dass die Namensspalte breiter wird, bearbeiten Sie Ihre .emacs-Datei und ändern die obigen 18 in etwas anderes:

(setq ibuffer-formats
      '((mark modified read-only " "
              (name 30 30 :left :elide) " "
              (size 9 -1 :right) " "
              (mode 16 16 :left :elide) " " filename-and-process)
        (mark " " (name 16 -1) " " filename)))

C-x C-eSetzen Sie dann den Cursor direkt nach dem obigen in die Zeile und geben Sie ein , um den Ausdruck (setq ...) auszuwerten, und der Wert von ibuffer-formatswird geändert.

Kyle Jones
quelle
Könnten Sie ein Beispiel hinzufügen, das klar macht, welche Syntax für die ibuffer-formatsVariable verwendet werden soll?
Student
Ich habe ein Beispiel hinzugefügt.
Kyle Jones
Sie können die ibuffer-formatsVariable auch einfach anpassen, um die Variable für die aktuelle und zukünftige Sitzung zu ändern .
Vschum