Установите ширину столбца в `ibuffer`

16

Есть ли способ настроить ширину столбцов в ibuffer? В частности, я хочу расширить столбец Имя, чтобы иметь возможность читать больше имен буферов, прежде чем они будут усечены. Я пытался Buffer-menu-name-width, но кажется, что Buffer-menuпеременные не используются ibuffer. Я тоже пытался, M-x customize-group RET ibuffer RETно ничего не показалось.

nispio
источник

Ответы:

17

Как упоминает ответ @ Sigma, вам нужно настроить ibuffer-formats. Строка документации содержит много подробностей о том, как изменить ее вручную, а также отмечает, что вы можете использовать customizeмеханизм, чтобы возиться с ним. Если вы предпочитаете подход elisp, вы можете адаптировать настройки по умолчанию по своему вкусу, используя цифры после nameкомпонента списка, относящиеся к минимальной и максимальной ширине столбцов. Таким образом, изменение столбца, для которого поле имени охватывает значение по умолчанию от 18 до 30, может быть достигнуто путем:

;; 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)))
Дэн
источник
Похоже, даже когда вы используете customizeинтерфейс, вы все равно пишете (или модифицируете) формы elisp для настройки.
Ниспио
5

Вы можете настроить ibuffer-formats, что позволяет вам определять среди прочего ширину столбцов. Это также позволяет вам определять несколько форматов, что удобно для материала, который вы не хотите всегда отображать.

Сигма
источник
2

Если вас интересует просмотр всего столбца имени буфера, в частности, вы можете сделать это, не «настраивая» что-либо, используя ibuffer-switch-formatпривязку `внутри ibuffer.

Функция переключается между альтернативами, указанными в ibuffer-formats. По умолчанию ibuffer-formatsесть два варианта:

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

из которых второй не ограничивает ширину столбца имени.

В общем случае customizeнеобходим, как указано в ответах Сигмы и Дана .

aplaice
источник