* Dired
** Dired config
+*** Dired bindings
=C-o= is defined as a global key for window operation, here unset it in dired mode
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(defun sd/dired-key-map ()
;; scroll
(define-key dired-mode-map (kbd "SPC") 'scroll-up-command)
(define-key dired-mode-map (kbd "DEL") 'scroll-down-command)
+ (define-key dired-mode-map (kbd "j") 'diredp-next-line)
+ (define-key dired-mode-map (kbd "k") 'diredp-previous-line)
+ (define-key dired-mode-map (kbd "g") 'dired-goto-file)
;; (define-key dired-mode-map (kbd "S-SPC") 'scroll-down-command)
;; jump to fil/dirs
(define-key dired-mode-map (kbd "f") 'dired-isearch-filenames)
(use-package dired
:config
(require 'dired-x)
+ ;; also load dired+
+ (use-package dired+
+ :ensure t
+ :init (setq diredp-hide-details-initially-flag nil))
+
(setq dired-omit-mode t)
(setq dired-omit-files (concat dired-omit-files "\\|^\\..+$"))
(add-hook 'dired-mode-hook (lambda ()
"Go to higher level directory"
(interactive)
(find-alternate-file ".."))
-
- (setq dired-guess-shell-alist-user
- '(("\\.pdf\\'" "evince" "okular")
- ("\\.\\(?:djvu\\|eps\\)\\'" "evince")
- ("\\.\\(?:jpg\\|jpeg\\|png\\|gif\\|xpm\\)\\'" "eog")
- ("\\.\\(?:xcf\\)\\'" "gimp")
- ("\\.csv\\'" "libreoffice")
- ("\\.tex\\'" "pdflatex" "latex")
- ("\\.\\(?:mp4\\|mkv\\|avi\\|flv\\|ogv\\)\\(?:\\.part\\)?\\'"
- "vlc")
- ("\\.\\(?:mp3\\|flac\\)\\'" "rhythmbox")
- ("\\.html?\\'" "firefox")
- ("\\.cue?\\'" "audacious")))
-
#+END_SRC
-dired utils
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(defun sd/dired-new-file ()
"Create a new file in dired mode"
(match-string 1))))))
#+END_SRC
+*** disable ido when dired new file
When create a new directory, I want to disalbe =ido= completion. see [[http://stackoverflow.com/questions/7479565/emacs-ido-mode-and-creating-new-files-in-directories-it-keeps-changing-the-dire][here]]. Thhis code snippets copied
from [[https://emacs.stackexchange.com/questions/13713/how-to-disable-ido-in-dired-create-directory/13795#13795?newreg%3Ddb17c20f7af3490fb11cf15f1d888e9e][How to disable IDO in ‘dired-create-directory’]]
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(mk-disable-ido 'sd/dired-new-file)
#+END_SRC
-** Dired+
+*** Dired open with
+=!= =dired-do-shell-command=
+=&= =dired-do-async-shell-command=
+here on Mac, just use "open" commands to pen =.pdf=, =.html= and image files
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (use-package dired+
- :ensure t
- :init
- (setq diredp-hide-details-initially-flag nil)
- :config
- (define-key dired-mode-map (kbd "j") 'diredp-next-line)
- (define-key dired-mode-map (kbd "k") 'diredp-previous-line)
- (define-key dired-mode-map (kbd "g") 'dired-goto-file))
+ (setq dired-guess-shell-alist-user
+ '(("\\.pdf\\'" "open" "okular")
+ ("\\.\\(?:djvu\\|eps\\)\\'" "evince")
+ ("\\.\\(?:jpg\\|jpeg\\|png\\|gif\\|xpm\\)\\'" "open")
+ ("\\.\\(?:xcf\\)\\'" "gimp")
+ ("\\.csv\\'" "libreoffice")
+ ("\\.tex\\'" "pdflatex" "latex")
+ ("\\.\\(?:mp4\\|mkv\\|avi\\|flv\\|ogv\\)\\(?:\\.part\\)?\\'" "mplayer")
+ ("\\.\\(?:mp3\\|flac\\)\\'" "rhythmbox")
+ ("\\.html?\\'" "open")
+ ("\\.cue?\\'" "audacious")))
#+END_SRC
** dired-hacks