Defina as larguras das colunas no `ibuffer`

16

Existe uma maneira de personalizar as larguras das colunas ibuffer? Especificamente, desejo ampliar a coluna Nome para poder ler mais nomes de buffer antes que eles sejam truncados. Eu tentei Buffer-menu-name-width, mas parece que as Buffer-menuvariáveis ​​não são usadas por ibuffer. Eu também tentei, M-x customize-group RET ibuffer RETmas nada parecia relevante.

nispio
fonte

Respostas:

17

Como a resposta da @ Sigma menciona, você precisa personalizar ibuffer-formats. A docstring fornece muitos detalhes sobre como modificá-lo manualmente e também observa que você pode usar o customizemecanismo para mexer nele. Se você preferir a abordagem elisp, poderá adaptar as configurações padrão ao seu gosto, com os números após o namecomponente da lista referentes à largura mínima e máxima das colunas. Portanto, é possível alterar a coluna para a qual o campo de nome se estende do padrão de 18 a 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)))
Dan
fonte
Parece que mesmo quando você usa a customizeinterface, ainda acaba escrevendo (ou modificando) formulários elisp para fazer o customizing.
Nispio
5

Você pode personalizar ibuffer-formats, o que permite definir, entre outras coisas, a largura das colunas. Também permite definir vários formatos, o que é conveniente para as coisas que você não deseja exibir sempre.

Sigma
fonte
2

Se você gosta de ver a coluna inteira de nome do buffer, especificamente, você pode fazê-lo sem "customizar" nada, usando ibuffer-switch-format, vinculado a `dentro ibuffer.

A função alterna entre as alternativas especificadas por ibuffer-formats. Por padrão, ibuffer-formatshá duas opções:

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

dos quais o segundo não restringe a largura da coluna de nome.

No caso geral, customizeé necessário, conforme especificado nas respostas de Sigma e Dan .

aplaice
fonte