
Eu tenho a configuração dired e dired+ para visualizar listagens de diretórios 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 que calculasse e exibisse os tamanhos das pastas. Eu gostaria que isso fosse vinculado a um pressionamento de tecla/clique do mouse, pois não quero que isso seja feito em todas as pastas de todos os buffers.
A partir de agora, tenho "open in explorer" (w32-shell-execute no windows e gnome-open no gnome) vinculado a "O" a partir do qual uso Alt+Enter para calcular o tamanho do subdiretório.
Responder1
EssePágina wiki do Emacssugere usar o seguinte trecho 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 bem entendi, você gostaria de atualizar o valor do buffer Dired diretamente. Não estou familiarizado o suficiente com os detalhes internos do Dired, mas acho que não deveria ser tão difícil.
Responder2
Se a sua versão do Emacs for> = 24.4, você pode tentar odired-du
biblioteca. Está disponível no repositório ELPA.
Depois de instalar esta biblioteca: Se o seu buffer atual estiver no modo Dired, você poderá fazer:
C-x M-r
que alterna o `dired-du-mode' e exibe o tamanho recursivo dos diretórios 'no lugar' no buffer Dired. Se você visitar um novo buffer Dired, ele também mostrará buffers recursivos, até que você desative o modo.
Outra dica:
C-x C-h
alterna o formato do tamanho. Existem 3 formatos:
Padrão do comando `ls'.
Formato legível por humanos.
Formato numérico com separador de milhares por vírgula.
Você pode personalizar a opção `dired-du-size-format' para tornar persistente sua escolha de tamanho.