Adicionei esse recurso agora ao Dired + .
Você pode usar C-y
(comando diredp-yank-files
) para colar arquivos, cujos nomes absolutos foram copiados para o anel de interrupção, no diretório atual. O "diretório atual" aqui é o que dired-current-directory
retorna: o subdiretório inserido onde o cursor está localizado ou o diretório principal Dired se o cursor não estiver em uma lista de subdiretórios.
Com um prefixo arg, C-y
solicita o diretório de destino para a pasta. Portanto, você não precisa estar em um buffer Dired para colar arquivos em um diretório.
Você deve ter copiado os nomes dos arquivos para o anel de morte usando M-0 w
ou M-x diredp-copy-abs-filenames-as-kill
.
Em Dired +, esses comandos também definem variável diredp-last-copied-filenames
para a mesma sequência de nomes de arquivos. C-y
usa o valor dessa variável, não o que está atualmente na cabeça do anel de morte. Isso significa que você não precisa colar imediatamente após copiar os nomes dos arquivos. E isso significa que você pode, em vez de copiar os nomes dos arquivos no ringue, apenas colocar os nomes nessa variável (por exemplo, programaticamente).
Quando você usa C-y
, você é solicitado a confirmar ( y
ou n
). Você também pode pressionar l
(para "lista") quando solicitado, para exibir a lista de arquivos que serão colados.
Você também pode copiar os arquivos marcados do buffer Dired atual e quaisquer arquivos marcados em seus subdiretórios marcados, definidos recursivamente . Para isso, use M-0 M-+ M-w
(prefixo zero arg com comando diredp-copy-filename-as-kill-recursive
) ou use M-x diredp-copy-abs-filenames-as-kill-recursive
.
Observe que com o Dired + você também pode facilmente ter um buffer Dired que lista qualquer número de arquivos e diretórios, de qualquer lugar. Ou seja, as entradas listadas não precisam estar no mesmo diretório ou mesmo em diretórios relacionados. Consulte C-x D F
(comando diredp-dired-for-files
), que está no menu da barra de menus Dir como o item Arquivos Dired Localizados em Qualquer Lugar . Você pode marcar e colar (copiar) esses arquivos arbitrários de um buffer Dired para qualquer diretório.
Atualização 2019-04-22:
Também adicionei a capacidade de mover (não apenas colar) os arquivos cujos nomes (absolutos) você copiou para o anel de morte para o diretório atual (ou outro). Isso está vinculado C-w
em Dired.
diredp-move-files-named-in-kill-ring
é uma função interativa do Lisp no Windows dired+.el
.
(diredp-move-files-named-in-kill-ring &optional DIR NO-CONFIRM-P DETAILS)
Mova os arquivos cujos nomes absolutos foram copiados para o diretório atual.
Com um prefixo não negativo arg, é solicitado o diretório de destino.
Com um prefixo não positivo arg, você pode ver detalhes sobre os arquivos se clicar l
quando solicitado a confirmar a colagem. Caso contrário, você verá apenas os nomes dos arquivos. Os detalhes que você vê são definidos por opção
diredp-list-file-attributes
.
Você deveria ter copiado a lista de nomes de arquivos como uma string para o anel de morte usando M-0 w
ou M-x diredp-copy-abs-filenames-as-kill
. Esses comandos também definem variável diredp-last-copied-filenames
para a mesma string. diredp-move-files-named-in-kill-ring
usa o valor dessa variável, não o que está atualmente na cabeça do anel de morte.
Quando chamado do Lisp:
- Arg opcional
NO-CONFIRM-P
significa que não solicite confirmação para mover.
- Arg opcional
DETAILS
é passado para diredp-y-or-n-files-p
.
C-w
que mover / renomear o arquivo em vez de copiar? Graças