From d69d16ec10ef22f11eeee74cf7617bc6abfac81f Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Sun, 29 Jan 2017 23:03:00 +0100 Subject: emacs: improved dired mode support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miquel Sabaté Solà --- emacs/init.html | 123 ++++++++++++++++++++++++++++++++------------------------ emacs/init.org | 17 +++++++- 2 files changed, 85 insertions(+), 55 deletions(-) (limited to 'emacs') diff --git a/emacs/init.html b/emacs/init.html index 893ea97..e588ccf 100644 --- a/emacs/init.html +++ b/emacs/init.html @@ -4,7 +4,7 @@ mssola's GNU Emacs configuration - + @@ -718,7 +718,7 @@ require it here on the very top.
-
(use-package diminish
+
(use-package diminish
   :ensure t)
 
@@ -736,7 +736,7 @@ Ayo silver!
-
(use-package ag
+
(use-package ag
   :ensure t
   :config
 
@@ -758,14 +758,14 @@ Then, for keeping up with my projects I use the Projectile + Helm combination.
 
 
-
(use-package projectile
+
(use-package projectile
   :ensure t
   :config
   (projectile-mode 1)
   (setq projectile-mode-line
     '(:eval (format " %s" (projectile-project-name)))))
 
-(use-package helm
+(use-package helm
   :ensure t
   :config
   (setq projectile-completion-system 'helm)
@@ -797,10 +797,10 @@ Then, for keeping up with my projects I use the Projectile + Helm combination.
   (define-key helm-map (kbd "C-j") 'helm-next-line)
   (define-key helm-map (kbd "C-k") 'helm-previous-line)
 
-  (use-package helm-ag
+  (use-package helm-ag
     :ensure t))
 
-(use-package helm-projectile
+(use-package helm-projectile
   :ensure t
   :config
   (helm-projectile-on))
@@ -808,8 +808,10 @@ Then, for keeping up with my projects I use the Projectile + Helm combination.
 

-Finally, I've added a couple of bindings in evil mode. First of all, I want -C-p to use the proper function for finding files. +I use C-p as the binding for listing relevant files. This +binding works either by using helm-projectile or the regular helm-find +function. As a final touch, this binding also works for listing channels in ERC +buffers.

@@ -907,10 +909,10 @@ extension. This works with lots of languages with proper glue code.
-
(use-package let-alist
+
(use-package let-alist
   :ensure t)
 
-(use-package flycheck
+(use-package flycheck
   :ensure t
   :diminish
   :config
@@ -933,7 +935,7 @@ with your editor, you have to increase/decrease the fonts. I use the
 
 
-
(use-package default-text-scale
+
(use-package default-text-scale
   :ensure t
   :config
   (global-set-key (kbd "C-+") 'default-text-scale-increase)
@@ -950,7 +952,7 @@ supports it).
 
 
-
(use-package rainbow-delimiters
+
(use-package rainbow-delimiters
   :ensure t)
 
@@ -961,7 +963,7 @@ I never use the mouse.
-
(use-package disable-mouse
+
(use-package disable-mouse
   :ensure t
   :diminish
   :config
@@ -977,7 +979,7 @@ commands for the current chord as a list.
 
 
-
(use-package which-key
+
(use-package which-key
   :ensure t)
 
@@ -989,7 +991,7 @@ this, we have wc-mode.
-
(use-package wc-mode
+
(use-package wc-mode
   :ensure t)
 
@@ -1001,7 +1003,7 @@ that often, but it's cool to have a distraction-free screen from time to time.
-
(use-package writeroom-mode
+
(use-package writeroom-mode
   :ensure t)
 
@@ -1014,7 +1016,7 @@ most of my uses, it's convenient to have this tool anyways.
-
(use-package expand-region
+
(use-package expand-region
   :ensure t
   :config
 
@@ -1049,7 +1051,7 @@ snippets in another buffer.
 
 
-
(use-package yasnippet
+
(use-package yasnippet
   :ensure t
   :diminish yas-minor-mode
   :init (yas-global-mode)
@@ -1078,6 +1080,21 @@ whenever I use it, I want basic evil movement.
 
+

+That being said, I also extend dired with some handy tweaks. +

+ +
+ +
(setq directory-free-space-args "-Pkh"
+      dired-dwim-target t
+      dired-omit-mode nil
+      dired-recursive-copies 'always
+      dired-recursive-deletes 'always
+      delete-old-versions t)
+
+
+

And now instruct dired mode how to attach files when using mu4e. This is taken from the mu4e documentation, and it's available by typing @@ -1187,7 +1204,7 @@ Evil extensions. (define-key evil-insert-state-map (kbd "C-s") (lambda () (interactive) (save-buffer) (evil-force-normal-state)))) -(use-package evil +(use-package evil :ensure t :config @@ -1206,7 +1223,7 @@ Evil extensions. (evil-set-initial-state 'describe-mode 'normal) (evil-set-initial-state 'Buffer-menu-mode 'normal) - (use-package evil-leader + (use-package evil-leader :ensure t :config (global-evil-leader-mode) @@ -1223,17 +1240,17 @@ Evil extensions. "b" 'view-buffer "o" 'browse-url-at-point)) - (use-package evil-surround + (use-package evil-surround :ensure t :config (global-evil-surround-mode 1)) - (use-package evil-commentary + (use-package evil-commentary :ensure t :config (evil-commentary-mode t)) - (use-package evil-args + (use-package evil-args :ensure t :config ; Configuration taken from the documentation of evil-args. @@ -1248,7 +1265,7 @@ Evil extensions. (define-key evil-motion-state-map "L" 'evil-forward-arg) (define-key evil-motion-state-map "H" 'evil-backward-arg)) - (use-package evil-numbers + (use-package evil-numbers :ensure t :config (define-key evil-normal-state-map (kbd "C-a") 'evil-numbers/inc-at-pt) @@ -1268,7 +1285,7 @@ certainly useful for some common tasks (I guess that I still need some learning)

-
(use-package magit
+
(use-package magit
   :ensure t
   :config
 
@@ -1288,7 +1305,7 @@ certainly useful for some common tasks (I guess that I still need some learning)
   (with-eval-after-load 'evil-leader
     (evil-leader/set-key "s" 'magit-status)
 
-    (use-package evil-magit
+    (use-package evil-magit
       :ensure t
       :config
 
@@ -1636,7 +1653,7 @@ I want desktop notifications when receiving email.
 
 
-
(use-package mu4e-alert
+
(use-package mu4e-alert
   :ensure t
   :config
 
@@ -1652,7 +1669,7 @@ I want desktop notifications when receiving email.
 
 ; Evil mode in mu4e
 (with-eval-after-load 'evil
-  (use-package evil-mu4e
+  (use-package evil-mu4e
     :ensure t
     :config
 
@@ -1784,7 +1801,7 @@ blocks to be converted into HTML as well, so we can properly colorize it).
 
 
-
(use-package htmlize
+
(use-package htmlize
   :ensure t)
 
@@ -1953,7 +1970,7 @@ I'm giving ERC a chance. First of all, I'm setting up basic stuff.
-
(use-package erc
+
(use-package erc
   :config
 
   (erc-track-mode t)
@@ -2024,16 +2041,16 @@ Add some helper packages and update the loaded ERC modules.
 
(add-hook 'erc-connect-pre-hook
           (lambda (x) (erc-update-modules)))
 
-(use-package erc-hl-nicks
+(use-package erc-hl-nicks
   :ensure t)
 
-(use-package erc-yt
+(use-package erc-yt
   :ensure t
   :init
   (with-eval-after-load 'erc
     (add-to-list 'erc-modules 'youtube)))
 
-(use-package erc-image
+(use-package erc-image
   :ensure t
   :init
   (with-eval-after-load 'erc
@@ -2171,18 +2188,18 @@ And now my Go configuration. This includes stuff like the usage of goimpor
   (flyspell-prog-mode)
 
   ; eldoc support
-  (use-package go-eldoc
+  (use-package go-eldoc
     :ensure t
     :config
     (require 'go-eldoc))
 
-  (use-package go-add-tags
+  (use-package go-add-tags
     :ensure t
     :config
     (evil-leader/set-key "t" 'go-add-tags)))
 
 ;; Go
-(use-package go-mode
+(use-package go-mode
   :ensure t
   :pin melpa-stable
   :config
@@ -2201,7 +2218,7 @@ usings tabs for indentation (C, C++ and Go).
 
 
-
(use-package smart-tabs-mode
+
(use-package smart-tabs-mode
   :ensure t
   :config
   (smart-tabs-add-language-support golang go-mode-hook
@@ -2218,7 +2235,7 @@ Inferior markup languages.
 
;; Markdown mode with preview mode in the browser.
-(use-package markdown-mode
+(use-package markdown-mode
   :ensure t
   :config
 
@@ -2228,14 +2245,14 @@ Inferior markup languages.
 
   ; Preview mode does its things through websockets, so it's a requirement.
   ; After that, we can safely require it.
-  (use-package websocket
+  (use-package websocket
     :ensure t
     :config
-    (use-package markdown-preview-mode
+    (use-package markdown-preview-mode
       :ensure t)))
 
 ; YAML
-(use-package yaml-mode
+(use-package yaml-mode
   :ensure t
   :config
 
@@ -2249,20 +2266,20 @@ Web-related stuff.
 
 
-
(use-package slim-mode
+
(use-package slim-mode
   :ensure t)
 
-(use-package scss-mode
+(use-package scss-mode
   :ensure t
   :config
 
   (setq scss-compile-at-save nil)
   (add-hook 'yaml-mode-hook 'warnings-mode-hook))
 
-(use-package php-mode
+(use-package php-mode
   :ensure t)
 
-(use-package web-mode
+(use-package web-mode
   :ensure t
   :config
 
@@ -2284,7 +2301,7 @@ CMake for y'all.
 
 
-
(use-package cmake-mode
+
(use-package cmake-mode
   :ensure t
   :config
 
@@ -2294,7 +2311,7 @@ CMake for y'all.
          '(("\\.cmake\\'" . cmake-mode))
          auto-mode-alist))
 
-  (use-package cmake-font-lock
+  (use-package cmake-font-lock
     :ensure t
     :config
 
@@ -2310,19 +2327,19 @@ now because it's buggy, but I still have hope.
 
 
-
(use-package dockerfile-mode
+
(use-package dockerfile-mode
   :ensure t
   :config
 
   (add-to-list 'auto-mode-alist '("Dockerfile\\'" . dockerfile-mode)))
 
-(use-package terraform-mode
+(use-package terraform-mode
   :ensure t
   :config
 
   (terraform-format-on-save-mode))
 
-(use-package hcl-mode
+(use-package hcl-mode
   :ensure t)
 
 ;(use-package salt-mode
@@ -2360,7 +2377,7 @@ too many things into my leader and these shortcuts look sensible to me).
 
 
-
(use-package crux
+
(use-package crux
   :ensure t
   :bind (("C-c d" . crux-delete-file-and-buffer)
          ("C-c r" . crux-rename-file-and-buffer)
@@ -2422,7 +2439,7 @@ along with this program.  If not, see <
 
diff --git a/emacs/init.org b/emacs/init.org index c261250..36b22ab 100644 --- a/emacs/init.org +++ b/emacs/init.org @@ -473,8 +473,10 @@ Then, for keeping up with my projects I use the Projectile + Helm combination. (helm-projectile-on)) #+END_SRC -Finally, I've added a couple of bindings in evil mode. First of all, I want -@@html:C-p@@ to use the proper function for finding files. +I use @@html:C-p@@ as the binding for listing relevant files. This +binding works either by using =helm-projectile= or the regular =helm-find= +function. As a final touch, this binding also works for listing channels in ERC +buffers. #+BEGIN_SRC elisp (defun erc-helm-buffer-list () @@ -686,6 +688,17 @@ whenever I use it, I want basic evil movement. (kbd "w") 'evil-forward-word-begin)) #+END_SRC +That being said, I also extend =dired= with some handy tweaks. + +#+BEGIN_SRC elisp +(setq directory-free-space-args "-Pkh" + dired-dwim-target t + dired-omit-mode nil + dired-recursive-copies 'always + dired-recursive-deletes 'always + delete-old-versions t) +#+END_SRC + And now instruct dired mode how to attach files when using mu4e. This is taken from the [[https://www.djcbsoftware.nl/code/mu/mu4e/Dired.html#Dired][mu4e documentation]], and it's available by typing @@html:C-c RET C-a@@. -- cgit v1.2.3