Skip to content

Instantly share code, notes, and snippets.

@masatoi
Last active March 9, 2019 17:00
Show Gist options
  • Save masatoi/474fd5a72421e932c95f64aa8c9351fc to your computer and use it in GitHub Desktop.
Save masatoi/474fd5a72421e932c95f64aa8c9351fc to your computer and use it in GitHub Desktop.
dired関係の設定
;;; diredの拡張
(load "dired-x")
(defun dired (dirname &optional switches)
(interactive (dired-read-dir-and-switches ""))
(switch-to-buffer (dired-noselect dirname switches))) ; popupではなくバッファを切り替える
(defun dired-view-file-mouse (click)
(interactive "e")
(dired-view-file))
(defun dired-up-directory-mouse (click)
(interactive "e")
(dired-up-directory))
(add-hook 'dired-mode-hook
'(lambda ()
(define-key dired-mode-map "\M-o" 'other-window)
(define-key dired-mode-map "k" 'dired-previous-line)
(define-key dired-mode-map "j" 'dired-next-line)
(define-key dired-mode-map "p" 'dired-up-directory)
(define-key dired-mode-map "," 'dired-up-directory)
(define-key dired-mode-map "." 'dired-view-file)
(define-key dired-mode-map [return] 'dired-view-file)
(define-key dired-mode-map [mouse-2] 'dired-view-file-mouse)
(define-key dired-mode-map [mouse-3] 'dired-up-directory-mouse)
(define-key dired-mode-map " " 'scroll-up)
(define-key dired-mode-map "b" 'scroll-down)
(face-remap-add-relative
'mode-line '((:foreground "black" :background "yellow") mode-line))))
;;; dired-rainbow
(require 'dired-rainbow)
(defconst dired-source-files-extensions
'("lisp" "asd" "clj" "cljs" "js" "sh")
"Program source files.")
(dired-rainbow-define html "#4e9a06" ("htm" "html" "xhtml"))
(dired-rainbow-define src "magenta" dired-source-files-extensions)
;; boring regexp due to lack of imagination
(dired-rainbow-define log (:inherit default
:italic t) ".*\\.log")
;; highlight executable files, but not directories
(dired-rainbow-define-chmod executable-unix "Green" "-[rw-]+x.*")
;;; view-mode
;; face-remap-add-relative でモードに入ったときに切り換えるのだとexitなどのときに齟齬が発生する => viewer.elを使う
;; M-x package-install RET viewer
(require 'viewer)
(setq viewer-modeline-color-default "green")
(setq viewer-modeline-color-unwritable "tomato")
(setq viewer-modeline-color-view "orange")
(viewer-change-modeline-color-setup)
(defun View-quit-mouse (click)
(interactive "e")
(View-quit))
(add-hook 'view-mode-hook
'(lambda ()
(define-key view-mode-map "e" nil) ; exitは簡単に押せるとまずい
(define-key view-mode-map "\C-ce" 'View-exit)
(define-key view-mode-map "h" 'backward-char)
(define-key view-mode-map "l" 'forward-char)
(define-key view-mode-map "j" 'next-line)
(define-key view-mode-map "k" 'previous-line)
(define-key view-mode-map "J" 'View-scroll-line-forward)
(define-key view-mode-map "K" 'View-scroll-line-backward)
(define-key view-mode-map "," 'View-quit)
(define-key view-mode-map [mouse-3] 'View-quit-mouse)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment