cheat sheet for dired
Table of Contents
Last modified: 20240802T1529+0900
emacsの最強ファイラーdiredを使おう。
1. 削除
d | 削除フラグを付ける |
u | 削除フラグを消す |
<DEL> | ポイントを前の行に移し、その行の削除フラグを消す |
x | 削除フラグが付いたファイルを削除する |
1.1. よくあるエラー (osx)
- diredからファイルの削除ができないとき、まずはコマンドラインからだと削除できることを確認する。
delete-by-moving-to-trash
をt
にしているのにtrash
がインストールされていない場合、wrong-type-argument: Wrong type argument: stringp, nil
などのメッセージが出てエラーとなる。対処法は、
delete-by-moving-to-trash
をnil
にするか、$ brew install trash
で
trash
をインストールする。その際、EmacsWikiのSystem Trashのページなどを見て適切な設定をすると、システムの「ゴミ箱」、または~/.Trash
など指定したディレクトリに、削除ファイルが移動する。
2. ファイルの内容を表示する
f | そのファイルの内容を表示する |
<RET> | fと同じ |
o | 別ウインドウを開いてファイルの内容を表示する |
C-o | oと同じだがそのウインドウを選択しない |
v | 変更不可でそのファイルの内容を表示する |
W | ブラウザに問い合わせてそのファイルを外部プログラムで開く(Word, Excelなど) |
3. マーク
m | *でマークする |
* m | 同上 |
* * | すべての実行ファイル |
* @ | すべてのシンボリックリンク |
* / | すべてのディレクトリ |
* s | 現在のサブディレクトリ内のすべてのファイル |
u | 現在行のマークを削除 |
* u | 同上 |
* ! | すべてのマークを削除 |
U | 同上 |
C-n | 次のマークされたファイルへ進む |
M-{ | 同上 |
C-p | 前のマークされたファイルへ戻る |
M-} | 同上 |
t | マークを逆転させる |
* t | 同上 |
% m regexp <RET> | regexpに一致する名前のファイル |
* % regexp <RET> | 同上 |
% g regexp <RET> | regexpに一致する内容のファイル |
4. ファイル操作
C | copy |
D | delete |
R | rename (move) |
H | Hard link |
S | Symbolic link |
M | chmod |
+ | create directory |
以下のように設定すると、コピー先や移動先が、別ウインドウで表示しているディレクトリになる。
(setq dired-dwin-target t)
5. ファイル名を得る
w | マークされたファイル、またはカーソルがあるファイルのファイル名をkill-ringへ |
C-u w | 同上。ただし、ファイル名の相対パス |
0 w | 同上。ただしファイル名のフルパス |
C-u 0 w | 0 w と同じ |
6. シェル
! | マークしたファイルに対してシェルコマンドを実行 |
7. diredバッファの更新
g | 全内容の更新 |
l | マークしたファイルを更新 |
k | マークしたファイルの行を隠す |
s | アルファベット順と日付順を切り替える |
( | 簡易表示に切り替える (toggle) |
- 簡易表示をデフォルトにしたいときの設定
(use-package dired :hook (dired-mode . dired-hide-details-mode) )
8. Wdired
C-x C-q | (dired-toggle-read-only) | Wdiredモードに入る |
C-c C-c | (wdired-finish-edit) | 変更を適用して通常のDiredモードに戻る |
バッファを直接編集してファイル操作を行う。 R
よりも直観的。終了したら、 C-c C-c
で反映させる。
9. 具体例
9.1. ファイル名に特定の文字列を含むファイルだけを表示する
% m string<RET>
stringを検索してマークを付けるt
マークを反転k
マークされたファイルを消す
9.2. 矩形編集モードを使ってファイル名を一度に変更する
C-x C-q
Wdiredモードに入るC-x SPC
カーソル位置をマークして矩形編集モードに入る- (たとえば)ファイル名の最初の5文字を矩形に選択する
- (たとえば)
C-w
選択部分をカット C-c C-c
またはC-x C-s
でファイル名を一度に変更してWdiredモードを抜ける
9.3. 〆切があるタスクに、作業するファイルへのリンクを添える
- org-agenda でタスクを作成。
- 作業するファイルがあるディレクトリへdiredで移動
- そのファイルの上で、
0 w
- もとのorg-agendaファイルに戻り、タスクの下に以下の行を添えておくと、
C-x C-e
で当該ファイルが開く
(shell-command "open (ここで C-y )")