Diredのdired-find-fileだけのディレクトリは?

ディレクトリを入力するためにDiredモードにkeybindingを追加したいだけです。デフォルトでは、enter keyは dired-find-file 関数にバインドされています。問題は、それがカーソルの下にあるディレクトリであれば、新しいdiredバッファをオープンしているか、ファイルの場合には編集用にオープンしているファイルです。

So I added two shortcuts for going to parent directory and stepping in directory under cursor this way: (define-key dired-mode-map (kbd "") 'dired-jump) (define-key dired-mode-map (kbd "") 'dired-find-file)

最後に問題があると推測するかもしれませんが、 dired-find-file は非ディレクトリでも動作します。何もしないようにします。だから私の質問 - カーソル下のディレクトリにステップするための特定の機能がありますか?もしそうでなければ、自分の関数を構築するdiredモードのカーソルの下にあるディレクトリがあるかどうかを確認する方法はありますか? THX。

0
それぞれのディレクトリを別のバッファに入れたいのですか? dired i コマンドを使用します。このコマンドは、ディレクトリでない場合はエラーを返し、存在する場合は現在のバッファに展開します。それがあなたが望んでいないものなら、それを見るのは良いスタートかもしれません。
追加された 著者 Michael Bar-Sinai,

1 答え

これは簡単に書くことができます:

(defun dired-find-directory ()
  "A `dired-find-file' which only works on directories."
  (interactive)
  (let ((find-file-run-dired t)
        (file (dired-get-file-for-visit)))
    (when (file-directory-p file)
      (find-file file))))
2
追加された
それはまさに私が探していたことです、ありがとう!
追加された 著者 Joze,