Como posso exibir os tamanhos das pastas no emacs dired?

2

Eu dired e dired + setup para visualizar listagens de diretório e usá-lo como meu gerenciador de arquivos para mover / copiar arquivos. Atualmente dired lista '0' como o tamanho de todos os subdiretórios em qualquer diretório.

Eu gostaria de ter dired calcular e exibir tamanhos de pasta. Eu gostaria que isso fosse associado a um pressionamento de tecla / clique do mouse, pois não quero que o dired faça isso em todas as pastas em todos os buffers.

A partir de agora, eu tenho "open in explorer" (w32-shell-execute no windows e gnome-open no gnome) ligado a "O" do qual eu uso Alt + Enter para calcular o tamanho do subdiretório.

    
por koushik 15.08.2012 / 19:54

2 respostas

2

Esta página wiki do Emacs sugere o uso do seguinte snippet para calcular o tamanho dos arquivos e diretórios selecionados:

 (defun dired-get-size ()
  (interactive)
  (let ((files (dired-get-marked-files)))
    (with-temp-buffer
      (apply 'call-process "/usr/bin/du" nil t nil "-sch" files)
      (message "Size of all marked files: %s"
               (progn 
                 (re-search-backward "\(^[0-9.,]+[A-Za-z]+\).*total$")
                  (match-string 1))))))

 (define-key dired-mode-map (kbd "?") 'dired-get-size)

Se eu entendi corretamente, você gostaria de atualizar o valor do buffer Dired diretamente. Eu não estou familiarizado o suficiente com os internos do Dired, mas eu acho que não deveria ser tão difícil.

    
por 16.08.2012 / 16:26
2

Se a sua versão do Emacs for > = 24.4, você poderá experimente a biblioteca dired-du . Está disponível no repositório ELPA.

Depois de instalar esta biblioteca: Se o seu buffer atual está no modo Dired, então você pode fazer:

C-x M-r

que alterna o 'dired-du-mode' e exibe o recursivo tamanho dos diretórios 'in place' no buffer Dired. Se vocês visitar um novo buffer Dired, ele mostrará buffers recursivos também, até você desligar o modo.

Outra dica:

C-x C-h

alterna o formato de tamanho. Existem 3 formatos:

  1. Um padrão do comando 'ls'.

  2. Formato legível para humanos.

  3. Formato numérico com milhares de separador de vírgulas.

Você pode personalizar a opção 'dired-du-size-format' para faça seu tamanho formar escolhas persistentes.

    
por 01.06.2017 / 06:43

Tags