emacs Ibuffer の列幅をオンザフライで変更する

emacs Ibuffer の列幅をオンザフライで変更する

列の幅をemacs Ibufferその場で変更することは可能ですか?

答え1

ibuffer-formats の値を希望の値に変更し、ibuffer ウィンドウに戻って「g」を押します。 ibuffer-update形式の変更を認識し、適切な処理を実行します。 C-h v ibuffer-formats RET変数のドキュメントが表示されます。

例:

(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)))

これを .emacs ファイルに入れておけば、後で簡単に変更できます。名前の列を広くしたい場合は、.emacs ファイルを編集して、上記の 18 を別のものに変更します。

(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-e(setq ...) 式を評価すると、 の値がibuffer-formats変更されます。

関連情報