X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=emacs.d%2Fconfig.org;h=0f412ca28bc312d5e54d23b8d2de3fc9ae7e34f9;hb=eec89507d93a20905a0f604780d79adc679ec840;hp=a2980284b77df43aa75691c6fe71f086ccdb1b91;hpb=8661c077ea1a9ccedbda801ca1feb10adf0a6139;p=dotfiles.git diff --git a/emacs.d/config.org b/emacs.d/config.org index a298028..0f412ca 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -1436,18 +1436,36 @@ Color for Man-mode (defun sd/dired-key-map () "My keybindings for dired" (interactive) - (define-key dired-mode-map (kbd "SPC") 'scroll-up-command) - (define-key dired-mode-map (kbd "S-SPC") 'scroll-down-command) + ;; these two prefix are used globally (define-key dired-mode-map (kbd "C-o") nil) (define-key dired-mode-map (kbd "M-s") nil) - (define-key dired-mode-map (kbd "l") 'dired-isearch-filenames) + ;; toggle hidden files (define-key dired-mode-map (kbd "H") 'dired-omit-mode) - (define-key dired-mode-map (kbd "DEL") (lambda () (interactive) (find-alternate-file ".."))) + ;; 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 "S-SPC") 'scroll-down-command) + ;; jump to fil/dirs + (define-key dired-mode-map (kbd "f") 'dired-isearch-filenames) + ;; subdir + ;; i dired-maybe-insert-subdir + ;; o dired-find-file-other-window (switch to other window) + ;; O dired-display-file + (define-key dired-mode-map (kbd "G") 'ido-dired) (define-key dired-mode-map (kbd "c") 'sd/dired-new-file) (define-key dired-mode-map (kbd "h") 'dired-summary) - (define-key dired-mode-map (kbd "?") 'describe-mode) (define-key dired-mode-map (kbd "r") 'revert-buffer) - (define-key dired-mode-map (kbd "z") #'sd/dired-get-size)) + (define-key dired-mode-map (kbd "l") 'dired-display-file) + (define-key dired-mode-map [C-backspace] 'sd/dired-high-level-dir) + (define-key dired-mode-map (kbd "?") 'describe-mode) + (define-key dired-mode-map (kbd "z") #'sd/dired-get-size) + (define-key dired-mode-map (kbd "C-d") 'dired-kill-subdir) + (define-key dired-mode-map (kbd "M-d") 'dired-kill-subdir) + (define-key dired-mode-map (kbd "J") 'diredp-next-subdir) + (define-key dired-mode-map (kbd "TAB") 'diredp-next-subdir) + (define-key dired-mode-map (kbd "K") 'diredp-prev-subdir) + (define-key dired-mode-map (kbd "O") 'dired-display-file) + (define-key dired-mode-map (kbd "I") 'other-window)) (use-package dired :config @@ -1464,6 +1482,12 @@ Color for Man-mode (dired-why) (message "Δ: d-delete, u-ndelete, x-punge, f-ind, o-ther window, R-ename, C-opy, c-create, +new dir, r-evert, h-summary, ?-help,")) + + (defun sd/dired-high-level-dir () + "Go to higher level directory" + (interactive) + (find-alternate-file "..")) + (setq dired-guess-shell-alist-user '(("\\.pdf\\'" "evince" "okular") ("\\.\\(?:djvu\\|eps\\)\\'" "evince") @@ -2094,6 +2118,7 @@ Use =ESC= to exit minibuffer. Also I map =Super-h= the same as =C-g= :ensure t :init (setq projectile-enable-caching t) + (setq projectile-switch-project-action 'projectile-dired) (setq projectile-cache-file (concat sd-temp-directory "projectile.cache")) :config (add-to-list 'projectile-globally-ignored-files "GTAGS") @@ -2236,6 +2261,11 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del ;; buffer / windows switch ("o" sd/toggle-max-windows "one" :exit t) ("C-k" sd/delete-current-window "del" :exit t) + ("D" (lambda () + (interactive) + (kill-buffer) + (sd/delete-current-window)) + "kill" :exit t) ("'" other-window "other" :exit t) ;; ("a" ace-window "ace") ("s" ace-swap-window "swap") @@ -2247,7 +2277,7 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del ;; ibuffer, dired, eshell, bookmarks ;; ("d" ace-delete-window "ace-one" :exit t) ("C-o" ido-switch-buffer nil :exit t) - ("d" dired-jump nil :exit t) + ("d" sd/project-or-dired-jump nil :exit t) ("b" ibuffer nil n:exit t) ("e" eshell nil :exit t) ("m" bookmark-jump-other-window nil :exit t) @@ -2270,6 +2300,14 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del (global-unset-key (kbd "C-o")) (global-set-key (kbd "C-o") 'sd/hydra-window/body) + + (defun sd/project-or-dired-jump () + "If under project, jump to the root directory, otherwise + jump to dired of current file" + (interactive) + (if (projectile-project-p) + (projectile-dired) + (dired-jump))) #+END_SRC ** Motion