dired-ranger 20160924.335(in MELPA)
Implementation of useful ranger features for dired

概要

dired-ranger.elはdiredで「今風」なファイル操作を行うEmacs Lispです。
dired-hacksメタパッケージに含まれています。

通常のdiredでコピー・移動するには、コピー先を入力するのが面倒です。
そこで dired-dwim-target 変数を t にすることで隣のdiredバッファをデフォルトのコピー先にできます。

dired-ranger.elでは、それをさらに推し進めて、
「仮想クリップボード」にファイルを格納して、
コピー・貼り付け感覚でファイルのコピー・移動ができるようにしました。

デフォルトではキーに割り当てられていませんので「設定」を施す必要があります。

その上で、、、

仮想クリップボードにコピーするにはWを押します。
diredの他のコマンド同様、マークされていない場合は現在のファイル、マークされているときはマークされているファイル全部が対象です。

他のdiredに移動してC-u Wで仮想クリップボードに「追加」もできます。

仮想クリップボードにファイルがある状態でターゲットのdiredバッファを開きます。

Yで仮想クリップボードのファイルをターゲットにコピーします。

Xで仮想クリップボードにあるファイルをターゲットに移動します。
つまり、元のファイルは削除されます。

とはいえ、、、

仮想クリップボードが一覧できるわけでもないですし、
どうせ他のdiredを開くのであればわざわざ新しいコマンドを使わなくても
dired-dwim-target で十分だと僕は思います。

気に入れば使ってみてください。

20161114155457.png
Fig1: mでマークしてWで「仮想クリップボード」へコピー

20161114155523.png
Fig2: 別なdiredバッファでYで実際にコピーされる

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてdired-rangerを使う方は
以下のコマンドを実行します。

M-x package-install dired-ranger

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name dired-ranger


設定 161114155141.dired-ranger.el(以下のコードと同一)

(require 'dired)
(define-key dired-mode-map (kbd "W") 'dired-ranger-copy)
(define-key dired-mode-map (kbd "X") 'dired-ranger-move)
(define-key dired-mode-map (kbd "Y") 'dired-ranger-paste)

実行方法

$ wget http://rubikitch.com/f/161114155141.dired-ranger.el
$ emacs -Q -f package-initialize -l 161114155141.dired-ranger.el

本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。