emacs - dired mode open file shell command
authorPeng Li <seudut@gmail.com>
Sun, 31 Jul 2016 03:32:10 +0000 (11:32 +0800)
committerPeng Li <seudut@gmail.com>
Sun, 31 Jul 2016 03:32:10 +0000 (11:32 +0800)
emacs.d/config.org

index b65c320..1928499 100644 (file)
@@ -1420,6 +1420,7 @@ Color for Man-mode
 
 * 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 ()
@@ -1433,6 +1434,9 @@ Color for Man-mode
     ;; 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)
@@ -1459,6 +1463,11 @@ Color for Man-mode
   (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 ()
@@ -1476,23 +1485,8 @@ Color for Man-mode
     "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"
@@ -1512,6 +1506,7 @@ dired utils
            (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
@@ -1535,16 +1530,22 @@ Disalble =ido= when new a directory or file in =dired= mode
   (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