この機能をDired +に追加しました。
C-y
(コマンドdiredp-yank-files
)を使用して、絶対名をキルリングにコピーしたファイルを現在のディレクトリに貼り付けることができます。ここで「現在のディレクトリ」とはdired-current-directory
、カーソルが置かれている挿入されたサブディレクトリ、またはカーソルがサブディレクトリリストにない場合はDiredメインディレクトリを返します。
プレフィックスargをC-y
使用すると、代わりに貼り付けのターゲットディレクトリを指定するように求められます。したがって、ディレクトリにファイルを貼り付けるためにDiredバッファにいる必要はありません。
M-0 w
またはを使用して、ファイル名をキルリングにコピーしておく必要がありますM-x diredp-copy-abs-filenames-as-kill
。
Dired +では、これらのコマンドは変数diredp-last-copied-filenames
を同じファイル名の文字列に設定します。 C-y
現在、キルリングの先頭にあるものではなく、その変数の値を使用します。つまり、ファイル名をコピーした直後に貼り付ける必要はありません。そして、ファイル名をキルリングにコピーする代わりに、その名前を変数に(たとえば、プログラムで)入れるだけでよいことを意味します。
を使用するとC-y
、確認を求められます(y
またはn
)。l
プロンプトが表示されたら(「リスト」の場合)を押して、貼り付けられるファイルのリストを表示することもできます。
現在のDiredバッファーからマークされたファイルと、再帰的に定義されたマークされたサブディレクトリ内のマークされたファイルをコピーすることもできます。そのためにはM-0 M-+ M-w
(コマンドでゼロのプレフィックス引数diredp-copy-filename-as-kill-recursive
)を使用するか、を使用しますM-x diredp-copy-abs-filenames-as-kill-recursive
。
Dired +を使用すると、どこからでも任意の数のファイルとディレクトリを一覧表示するDiredバッファーを簡単に作成できることに注意してください。つまり、リストされているエントリは、同じディレクトリまたは関連ディレクトリにある必要はありません。C-x D F
(コマンドdiredp-dired-for-files
)を参照してください。これは、Dirメニューバーメニューの項目Dired Files Located Anywhereとしてあります。そのような任意のファイルをマークして、Diredバッファーから任意のディレクトリに貼り付ける(コピーする)ことができます。
アップデート2019-04-22:
また、キルリングにコピーした(絶対)名のファイルを現在の(または別の)ディレクトリに移動する(貼り付けるだけでなく)機能も追加しました。これはC-w
Diredに拘束されています。
diredp-move-files-named-in-kill-ring
のインタラクティブなLisp関数ですdired+.el
。
(diredp-move-files-named-in-kill-ring &optional DIR NO-CONFIRM-P DETAILS)
絶対名をコピーしたファイルを現在のディレクトリに移動します。
負でないプレフィックス引数を使用すると、代わりにターゲットディレクトリの入力を求められます。
正でないプレフィックス引数を使用l
すると、貼り付けの確認を求めるプロンプトが表示されたときにファイルの詳細を確認できます。それ以外の場合は、ファイル名のみが表示されます。表示される詳細はオプションによって定義されます
diredp-list-file-attributes
。
M-0 w
またはを使用して、ファイル名のリストを文字列としてキルリングにコピーしておく必要がありますM-x diredp-copy-abs-filenames-as-kill
。これらのコマンドは、変数diredp-last-copied-filenames
を同じ文字列に設定します。 diredp-move-files-named-in-kill-ring
現在、キルリングの先頭にあるものではなく、その変数の値を使用します。
Lispから呼び出された場合:
- オプションのarg
NO-CONFIRM-P
は、移動の確認を求めないことを意味します。
- オプションの引数
DETAILS
がに渡されdiredp-y-or-n-files-p
ます。
C-w
、コピーではなくファイルを移動/名前変更する必要がありましたか?ありがとう