hydra and occur-dwim
authorJoerg Jaspert <joerg.jaspert@dlh.de>
Mon, 26 Jan 2015 15:05:17 +0000 (16:05 +0100)
committerJoerg Jaspert <joerg.jaspert@dlh.de>
Mon, 26 Jan 2015 15:05:17 +0000 (16:05 +0100)
.emacs.d/config/emacs.org
.emacs.d/elisp/local/ganneff.el

index 252401c..bdfcedc 100644 (file)
@@ -906,6 +906,11 @@ disabling that.
 (bind-key "C-k" 'find-function-on-key 'help-command)
 (bind-key "C-v" 'find-variable 'help-command)
 #+END_SRC
+*** Adjust occur
+[2015-01-26 Mon 16:01]
+#+BEGIN_SRC emacs-lisp :tangle yes
+(bind-key "M-s o" 'occur-dwim)
+#+END_SRC
 ** Miscellaneous stuff
 
 Searches and matches should ignore case.
@@ -1425,10 +1430,9 @@ movement keys.
 #+BEGIN_SRC emacs-lisp :tangle yes
 (use-package dired
   :commands (dired dired-other-window dired-other-frame dired-noselect
-                   dired-mode dired-jump find-name-dired)
+                   dired-mode dired-jump)
   :init
   (progn)
-  :bind (("F". find-name-dired))
   :config
   (progn
     (setq dired-auto-revert-buffer (quote dired-directory-changed-p))
@@ -1436,6 +1440,7 @@ movement keys.
     (setq dired-listing-switches "-alh")
     (setq dired-recursive-copies (quote top))
     (setq dired-recursive-deletes (quote top))
+    (bind-key "F" 'find-name-dired dired-mode-map)
 
     (defvar mark-files-cache (make-hash-table :test #'equal))
 
@@ -1980,7 +1985,38 @@ Replaced by web-mode [[*web-mode][web-mode]]
 (add-auto-mode 'html-helper-mode "\\.(jsp|tmpl)\\'")
 (defalias 'html-mode 'html-helper-mode)
 #+END_SRC
+** hydra
+[2015-01-26 Mon 15:50]
+This is a package for GNU Emacs that can be used to tie related
+commands into a family of short bindings with a common prefix - a
+Hydra.
+
+Once you summon the Hydra through the prefixed binding (the body + any
+one head), all heads can be called in succession with only a short
+extension.
+
+The Hydra is vanquished once Hercules, any binding that isn't the
+Hydra's head, arrives. Note that Hercules, besides vanquishing the
+Hydra, will still serve his orignal purpose, calling his proper
+command. This makes the Hydra very seamless, it's like a minor mode
+that disables itself auto-magically.
+#+BEGIN_SRC emacs-lisp :tangle yes
+(use-package hydra
+  :ensure hydra
+  :init
+  (progn
+    (setq hydra-is-helpful t)
+
+    (hydra-create "<f2>"
+      '(("g" text-scale-increase "zoom in")
+        ("l" text-scale-decrease "zoom out")))
 
+    (hydra-create "M-g"
+      '(("h" first-error "first")
+        ("j" next-error "next")
+        ("k" previous-error "prev")))
+    ))
+#+END_SRC
 ** ibuffer
 [2014-05-21 Wed 23:54]
 #+BEGIN_SRC emacs-lisp :tangle yes
index 833cafa..ed7649d 100644 (file)
@@ -282,6 +282,18 @@ This functions should be added to the hooks of major modes for programming."
           (system-time-locale "de_DE"))
       (insert (format-time-string format))))
 
+;;;###autoload
+(defun occur-dwim ()
+  "Call `occur' with a sane default."
+  (interactive)
+  (push (if (region-active-p)
+            (buffer-substring-no-properties
+             (region-beginning)
+             (region-end))
+          (thing-at-point 'symbol))
+        regexp-history)
+  (call-interactively 'occur))
+
 (provide 'ganneff)
 
 ;;; ganneff.el ends here