Emacs dired

  1. 起動:C-x dか、M-x dired
  2. diredのバッファ内のコマンド
    1. read onlyバッファである。
    2. カーソル移動コマンド
      1. C-n(spc nと等価)、C-p(pと等価)はファイル名の先頭に位置合わせ
      2. delは上に移動してフラグを消す。
  3. diredでのファイル削除
    1. d:このファイルに削除フラグをつける。
    2. u:      削除フラグを消す。
    3. DEL:ポイントを前の行に移しその行のフラグを消す。
    4. x:削除フラグがついたファイルを本当に削除する。
  4. 一度に多数のファイルにフラグをつける
    1. #(名前が#で始まり#で終わる)すべての自動保存ファイルに削除フラグをつける。
    2. ~(名前が~で終わる)すべてのバックアップファイルに削除フラグをつける。
    3. &簡単に作成し直せるような名前のすべてのファイルに削除フラグを
    4. .余分な番号付きバックアップファイルに削除フラグ。新しいバックアップファイル数個と古いもの数個を除いてその間のものにフラグ
    5. % d regexp RET 名前が正 規表現regexpに一致するすべてに削除フラグ。(D)
  5. diredでのファイル訪問 
    1. f:CーXCーFと同様に現行ファイルを訪問。ディレクトリならそのサブディレクトリをdired
    2. RET:fと同じ
    3. o:別ウインドウに
    4. C-o:同上だがウインドウを選択しない
    5. Mouse-2:クリックしたファイルを別ウィンドウで
    6. v:M-x view file で現行ファイルを閲覧
  6. diredの印とフラグ(Dのかわりに*などマークできる。x以外のコマンドで*を扱える)
    1. m:選択したファイルにマークをつける.ディレクトリ名の所で押すとすべてのファイルに
      1. *m:現ファイルに*
      2. **:実効ファイルすべてに*
      3. *@:シンボリックリンクに*
      4. */:.と..以外の全ディレクトリに*
      5. *s:現サブディレクトリの.と..以外すべてに*
      6. u
      7. *u:この行の印を消す
    2. DEL
      1. *DEL:ポイントを前行へ移動してその行の印を消す
      2. *!:すべてのファイルの印を消す
      3. *?markchar:指定した文字markchar(1文字)の印すべて消す。

      1. *C-n:印がついている次のファイル
      2. *C-p:印がついている前

      1. *t:すべての*印の切り替え(*ー>無し、無し->*)
      2. *c old new:oldの印をnewに切り替え(例*c D t *c SPC D *c t SPCで印の無いすべてにDをつけ、Dフラグのついているものからはこれを消す。)

      1. %m regexp RET:regexpに一致する名前のファイルに*をつける。
      2. *% regexp RET:同上
      3. % g regexp RET:内容がregexpに一致するファイルすべてに(*で)印をつける。
    3. C-_:アンドゥ
  7. ファイルの操作(コマンドはすべて大文字)
    1. C new RET:指定したファイルをコピー先ディレクトリか新しい名前(new)にコピー
    2. D:さくじょ
    3. R new RET:ファイル名を変更
    4. H new RET:ハードリンクをはる
    5. S new RET:シンボリックリンク
    6. M modspec RET:chmodを使う
    7. G newgroup RET:グループ変更
    8. O newowner RET:ファイル所有者変更
    9. P commnd RET:ファイル印刷
    10. Z:ファイル圧縮
    11. L:指定したemacs lisp ファイルロード
    12. B:指定emacs lisp ファイルのバイトコンパイル 
    13. A regexp RET:指定ファイル群似たいし正規表現一致するものを探す。
    14. O from RET to RET:指定したファイル群にquery-replace-regexp,fromに一致する部分をtoに変換
  8. dired でのシェルコマンド(!かX)ミニバッファからシェルコマンドを読み込み実行
    1. シェルコマンド中に*を使うと指定したファイル名のリストで*を置き換えてコマンドを一度だけ実行
      1. 例) ! tar cf foo.tar * RET は指定した一連のファイルをfoo.tarファイルにまとめる。
    2. コマンドに*が無い場合コマンド文字列の最後にそれぞれのファイルを付け加えて書くファイル毎にコマンドを一回実行
      1. 例 ! undecode RETは各ファイルにundecode
        1. for file in * ; do unencode $file $file > $file.uu; done
  9. dired でのファイル名変換
    1. % u
    2. % l
    3. % R from RET to RET
    4. % C from RET to RET
    5. % H from RET to RET
    6. % S from RET to RET