From a415b4ae4a50141d1bbe5854a1becd151fb39129 Mon Sep 17 00:00:00 2001 From: Thomas von Dein Date: Sat, 20 Oct 2018 12:28:54 +0200 Subject: [PATCH] +fixes --- .emacs | 408 +++++++++------ emacs.html | 1391 ++++++++++++++++++++++++++++------------------------ 2 files changed, 993 insertions(+), 806 deletions(-) diff --git a/.emacs b/.emacs index 4fcba57..7dbad03 100644 --- a/.emacs +++ b/.emacs @@ -1,4 +1,4 @@ -;; Toms Emacs Config - portable - version (20181004.01) -*-emacs-lisp-*- +;; Toms Emacs Config - portable - version (20181019.01) -*-emacs-lisp-*- ;; * Introduction ;; This is my emacs config, it is more than twenty years old. It @@ -645,6 +645,23 @@ ;; - finished org table hydra ;; - added info hydra, fixed 't bug +;; 20181016.01 +;; - fixed dired under cygwin w/o git + +;; 20181019.01 +;; - using C-x for all hydras now: +;; C-x w: windows +;; C-x t: org table +;; C-y p: projectile +;; - added copy org table row +;; - enhanced window hyrda by resizing chords +;; - changed table copy key chords (C-c t [ctr] + + +;; - better windows hydra +;; - on help close restore windows setup +;; - fixed hydra hints + ;; ** TODO ;; - check dired hydra @@ -677,7 +694,7 @@ ;; My emacs config has a version (consisting of a timestamp with a ;; serial), which I display in the mode line. So I can clearly see, if ;; I'm using an outdated config somewhere. -(defvar tvd-emacs-version "20181004.01") +(defvar tvd-emacs-version "20181019.01") ;; -------------------------------------------------------------------------------- @@ -3655,7 +3672,7 @@ intended to be #'> to support reverse sorting." (org-table-delete-column) (re-search-forward "|") (org-table-insert-column) - (org-table-goto-col-beginning) + (tvd-org-table-goto-col-beginning) (insert head) (org-table-align)) ) @@ -3663,7 +3680,7 @@ intended to be #'> to support reverse sorting." ;; Sometimes I need to copy whole columns too: ;; via [[https://emacs.stackexchange.com/questions/28270/how-to-select-and-copy-a-column-of-an-org-table-without-rectangle-selection][stackoverflow]] -(defun org-table-goto-col-beginning () +(defun tvd-org-table-goto-col-beginning () "Go to beginning of current column and return `point'." (interactive) (assert (org-table-p) "Not in org-table.") @@ -3673,12 +3690,12 @@ intended to be #'> to support reverse sorting." (org-table-goto-column col)) (point)) -(defun org-table-col-beginning () +(defun tvd-org-table-col-beginning () "Return beginning position of current column." (save-excursion - (org-table-goto-col-beginning))) + (tvd-org-table-goto-col-beginning))) -(defun org-table-goto-col-end () +(defun tvd-org-table-goto-col-end () "Goto end of current column and return `point'." (interactive) (assert (org-table-p) "Not in org-table.") @@ -3689,35 +3706,58 @@ intended to be #'> to support reverse sorting." (skip-chars-forward "^|")) (point)) -(defun org-table-col-end () +(defun tvd-org-table-col-end () "Return end position of current column." (save-excursion - (org-table-goto-col-end))) + (tvd-org-table-goto-col-end))) -(defun org-table-select-col () +(defun tvd-org-table-select-col () "Select current column." (interactive) - (set-mark (org-table-col-beginning)) - (org-table-goto-col-end) + (set-mark (tvd-org-table-col-beginning)) + (tvd-org-table-goto-col-end) (rectangle-mark-mode)) -(defun org-table-copy-col () +(defun tvd-copy-org-table-col () "Copy current column." (interactive) - (org-table-select-col) + (tvd-org-table-select-col) (sit-for 0.2 t) - (copy-rectangle-as-kill (org-table-col-beginning) (org-table-col-end))) + (copy-region-as-kill nil nil t) + (with-temp-buffer + (yank) + (delete-trailing-whitespace) + (delete-whitespace-rectangle (point-min) (point-max)) + (font-lock-unfontify-buffer) + (copy-region-as-kill (point-min) (point-max)))) + +(defun tvd-copy-org-table-row () + "Copy current row, space aligned" + (interactive) + (mcyt-copy-line) + (with-temp-buffer + (yank) + (goto-char (point-min)) + (let ((spc "")) + (while (re-search-forward "|[ ]*" nil t) + (replace-match spc) + (setq spc " "))) + (delete-trailing-whitespace) + (copy-region-as-kill (point-min) (point-max)))) + (with-eval-after-load "org" (add-hook 'org-mode-hook (lambda () - (local-set-key (kbd "C-c o") 'org-table-copy-col) - (local-set-key (kbd "C-c c") 'tvd-copy-org-table-cell)))) + (local-set-key (kbd "C-c t l") 'tvd-copy-org-table-col) + (local-set-key (kbd "C-c t r") 'tvd-copy-org-table-row) + (local-set-key (kbd "C-c t c") 'tvd-copy-org-table-cell)))) ;; eval-after-load 'orgtbl doesn't work (add-hook 'orgtbl-mode-hook '(lambda () - (define-key orgtbl-mode-map (kbd "C-c o") 'org-table-copy-col) - (define-key orgtbl-mode-map (kbd "C-c c") 'tvd-copy-org-table-cell))) + (define-key orgtbl-mode-map (kbd "C-c t l") 'tvd-copy-org-table-col) + (define-key orgtbl-mode-map (kbd "C-c t r") 'tvd-copy-org-table-row) + (define-key orgtbl-mode-map (kbd "C-c t c") 'tvd-copy-org-table-cell))) ;; integers, reals, positives, set via custom (setq org-table-number-regexp "^[-+]?\\([0-9]*\\.[0-9]+\\|[0-9]+\\.?[0-9]*\\)$") @@ -3725,57 +3765,63 @@ intended to be #'> to support reverse sorting." ;; table hydras, maybe better than aliases?! (defhydra hydra-org-tables (:color blue) " -^Sort by^ ^Transform to^ ^Copy/Del what^ ^Modify^ ^Outside Org^ -^^^^^^^^---------------------------------------------------------------------------------------------------------- -_sa_: alphanumeric _tc_: CSV _cl_: Copy Column _ic_: Insert Column _ot_: Table to Org Mode -_sA_: -alphanumeric _te_: Excel _cc_: Copy Cell _ir_: Insert Row _oe_: Enable Org-Tbl Mode -_si_: ip _tl_: Latex ^^ _il_: Insert Line _oc_: Turn region to columns -_sI_: -ip _th_: HTML _dd_: Delete Cell _tr_: Transpose Table +^Sort by^ ^Transform to^ ^Copy/Del what^ ^Modify^ ^Outside Org^ +^^^^^^^^----------------------------------------------------------------------------------------------------------------------- +_sa_: alphanumeric _tc_: CSV _cl_: Copy Column (C-c t l) _ic_: Insert Column _ot_: Table to Org Mode +_sA_: -alphanumeric _te_: Excel _cr_: Copy Row (C-c t r) _ir_: Insert Row _oe_: Enable Org-Tbl Mode +_si_: ip _tl_: Latex _cc_: Copy Cell (C-c t c) _il_: Insert Line _oc_: Turn region to columns +_sI_: -ip _th_: HTML _dd_: Delete Cell _tr_: Transpose Table _sn_: numeric _tt_: Tab _dc_: Delete Column _sN_: -numeric _ta_: Aligned _dr_: Delete Row _st_: time ^^ _kr_: Kill Row -_sT_: -time ^^ _kc_: Kill Column ^^ _q_: Cancel +_sT_: -time ^^ _kc_: Kill Column ^^ _q_: Cancel + + +^^^^^^^^----------------------------------------------------------------------------------------------------------------------- +Reach this hydra with +^^^^^^^^----------------------------------------------------------------------------------------------------------------------- " - ("sa" sort-table-alphanumeric ) - ("sA" sort-table-alphanumeric-desc) - ("si" sort-table-ip) - ("sI" sort-table-ip-desc ) - ("sn" sort-table-numeric ) - ("sN" sort-table-numeric-desc ) - ("st" sort-table-time ) - ("sT" sort-table-time-desc ) + ("sa" sort-table-alphanumeric nil) + ("sA" sort-table-alphanumeric-desc nil) + ("si" sort-table-ip nil) + ("sI" sort-table-ip-desc nil) + ("sn" sort-table-numeric nil) + ("sN" sort-table-numeric-desc nil) + ("st" sort-table-time nil) + ("sT" sort-table-time-desc nil) - ("tc" table-to-csv) - ("te" table-to-excel ) - ("tl" table-to-latex ) - ("th" table-to-html ) - ("tt" table-to-csv-tab ) - ("ta" table-to-aligned ) + ("tc" table-to-csv nil) + ("te" table-to-excel nil) + ("tl" table-to-latex nil) + ("th" table-to-html nil) + ("tt" table-to-csv-tab nil) + ("ta" table-to-aligned nil) - ("cl" org-table-copy-col ) - ("cc" tvd-copy-org-table-cell) - ("dd" org-table-blank-field) - ("dr" tvd-del-org-table-row) - ("dc" tvd-del-org-table-col) - ("kc" org-table-delete-column) - ("kr" org-table-kill-row) + ("cl" tvd-copy-org-table-col nil) + ("cr" tvd-copy-org-table-row nil) + ("cc" tvd-copy-org-table-cell nil) + ("dd" org-table-blank-field nil) + ("dr" tvd-del-org-table-row nil) + ("dc" tvd-del-org-table-col nil) + ("kc" org-table-delete-column nil) + ("kr" org-table-kill-row nil) - ("ic" org-table-insert-column) - ("ir" org-table-insert-row) - ("il" org-table-hline-and-move) - ("tr" org-table-transpose-table-at-point) + ("ic" org-table-insert-column nil) + ("ir" org-table-insert-row nil) + ("il" org-table-hline-and-move nil) + ("tr" org-table-transpose-table-at-point nil) - ("ot" tablify ) - ("oe" orgtbl-mode) - ("oc" align-repeat) + ("ot" tablify nil) + ("oe" orgtbl-mode nil) + ("oc" align-repeat nil) - ("q" nil :color red)) + ("q" nil nil :color red)) ;; allow me to insert org tables everywhere on request (defalias 'table 'hydra-org-tables/body) -(global-set-key (kbd "C-c t") 'hydra-org-tables/body) +(global-set-key (kbd "C-x t") 'hydra-org-tables/body) ;; *** org mode slideshows @@ -4295,49 +4341,51 @@ Info-mode: ^^_n_ext (same level only) ^^_H_istory _g_oto (C-u for new window) _,_ next index item _c_opy node name ^^_p_rev (same level only) _<_/_t_op _b_eginning of buffer virtual _I_ndex _C_lone buffer regex _s_earch (_S_ case sensitive) ^^_>_ final _e_nd of buffer ^^ _a_propos + _1_ .. _9_ Pick first .. ninth item in the node's menu. + " - ("]" Info-forward-node) - ("[" Info-backward-node) - ("n" Info-next) - ("p" Info-prev) - ("s" Info-search) - ("S" Info-search-case-sensitively) + ("]" Info-forward-node nil) + ("[" Info-backward-node nil) + ("n" Info-next nil) + ("p" Info-prev nil) + ("s" Info-search nil) + ("S" Info-search-case-sensitively nil) - ("l" Info-history-back) - ("r" Info-history-forward) - ("H" Info-history) - ("t" Info-top-node) - ("<" Info-top-node) - (">" Info-final-node) + ("l" Info-history-back nil) + ("r" Info-history-forward nil) + ("H" Info-history nil) + ("t" Info-top-node nil) + ("<" Info-top-node nil) + (">" Info-final-node nil) - ("u" Info-up) - ("^" Info-up) - ("m" Info-menu) - ("g" Info-goto-node) - ("b" beginning-of-buffer) - ("e" end-of-buffer) + ("u" Info-up nil) + ("^" Info-up nil) + ("m" Info-menu nil) + ("g" Info-goto-node nil) + ("b" beginning-of-buffer nil) + ("e" end-of-buffer nil) - ("f" Info-follow-reference) - ("i" Info-index) - ("," Info-index-next) - ("I" Info-virtual-index) + ("f" Info-follow-reference nil) + ("i" Info-index nil) + ("," Info-index-next nil) + ("I" Info-virtual-index nil) - ("T" Info-toc) - ("d" Info-directory) - ("c" Info-copy-current-node-name) - ("C" clone-buffer) - ("a" info-apropos) + ("T" Info-toc nil) + ("d" Info-directory nil) + ("c" Info-copy-current-node-name nil) + ("C" clone-buffer nil) + ("a" info-apropos nil) - ("1" Info-nth-menu-item) - ("2" Info-nth-menu-item) - ("3" Info-nth-menu-item) - ("4" Info-nth-menu-item) - ("5" Info-nth-menu-item) - ("6" Info-nth-menu-item) - ("7" Info-nth-menu-item) - ("8" Info-nth-menu-item) - ("9" Info-nth-menu-item) + ("1" Info-nth-menu-item nil) + ("2" Info-nth-menu-item nil) + ("3" Info-nth-menu-item nil) + ("4" Info-nth-menu-item nil) + ("5" Info-nth-menu-item nil) + ("6" Info-nth-menu-item nil) + ("7" Info-nth-menu-item nil) + ("8" Info-nth-menu-item nil) + ("9" Info-nth-menu-item nil) ("?" Info-summary "Info summary") ("h" Info-help "Info help") @@ -4626,11 +4674,16 @@ defun." ;; I even customize help windows! ... at least a little :) +(defun tvd-close-help () + (interactive) + (kill-this-buffer) + (winner-undo)) + (eval-after-load "Help" '(progn (add-hook 'help-mode-hook (lambda () - (local-set-key (kbd "q") 'tvd-close-window) + (local-set-key (kbd "q") 'tvd-close-help) (local-set-key (kbd "x") 'quit-window) (local-set-key (kbd "p") 'help-go-back) (local-set-key (kbd "b") 'help-go-back) @@ -4782,12 +4835,14 @@ defun." ;; age, that is, the older the greyer they get. And it displays flags ;; about the git status of each file, which is really handy. -(require 'dired-k) - -(add-hook 'dired-initial-position-hook 'dired-k) -(add-hook 'dired-after-readin-hook #'dired-k-no-revert) - -(setq dired-k-padding 2) +;; However, it only works with git installed and if enabled stops +;; dired to work completely. So I define an exception here and don't +;; load k if there's no git (e.g. on my notebook at work) +(when (string-match "version" (shell-command-to-string "git version")) + (require 'dired-k) + (add-hook 'dired-initial-position-hook 'dired-k) + (add-hook 'dired-after-readin-hook #'dired-k-no-revert) + (setq dired-k-padding 2)) ;; **** dired-hacks @@ -4969,10 +5024,10 @@ files marked, always operate on current line in dired-mode" ;; FIXME: not yet customized to fit my own config (defhydra hydra-dired (:hint nil :color pink) " -_+_ mkdir _v_iew _m_ark _(_ details _i_nsert-subdir wdired -_C_opy _O_ view other _U_nmark all _)_ omit-mode _$_ hide-subdir C-x C-q : edit -_D_elete _o_pen other _u_nmark _l_ redisplay _w_ kill-subdir C-c C-c : commit -_R_ename _M_ chmod _t_oggle _g_ revert buf _e_ ediff C-c ESC : abort +_+_ mkdir _v_iew _m_ark _(_ details _i_nsert-subdir _W_dired (EDIT FILENAMES) +_C_opy _O_ view other _U_nmark all _)_ omit-mode _$_ hide-subdir C-c C-c : edit +_D_elete _o_pen other _u_nmark _l_ redisplay _w_ kill-subdir +_R_ename _M_ chmod _t_oggle _g_ revert buf _e_ ediff _q_uit _Y_ rel symlink _G_ chgrp _E_xtension mark _s_ort _=_ pdiff _S_ymlink ^ ^ _F_ind marked _._ toggle hydra \\ flyspell _r_sync ^ ^ ^ ^ ^ ^ _?_ summary @@ -4980,45 +5035,47 @@ _z_ compress-file _A_ find regexp _Z_ compress _Q_ repl regexp T - tag prefix -" - ("\\" dired-do-ispell) - ("(" dired-hide-details-mode) - (")" dired-omit-mode) - ("+" dired-create-directory) - ("=" diredp-ediff) ;; smart diff - ("?" dired-summary) - ("$" diredp-hide-subdir-nomove) - ("A" dired-do-find-regexp) - ("C" dired-do-copy) ;; Copy all marked files - ("D" dired-do-delete) - ("E" dired-mark-extension) - ("e" dired-ediff-files) - ("F" dired-do-find-marked-files) - ("G" dired-do-chgrp) - ("g" revert-buffer) ;; read all directories again (refresh) - ("i" dired-maybe-insert-subdir) - ("l" dired-do-redisplay) ;; relist the marked or singel directory - ("M" dired-do-chmod) - ("m" dired-mark) - ("O" dired-display-file) - ("o" dired-find-file-other-window) - ("Q" dired-do-find-regexp-and-replace) - ("R" dired-do-rename) - ("r" dired-do-rsynch) - ("S" dired-do-symlink) - ("s" dired-sort-toggle-or-edit) - ("t" dired-toggle-marks) - ("U" dired-unmark-all-marks) - ("u" dired-unmark) - ("v" dired-view-file) ;; q to exit, s to search, = gets line # - ("w" dired-kill-subdir) - ("Y" dired-do-relsymlink) - ("z" diredp-compress-this-file) - ("Z" dired-do-compress) - ("q" nil) - ("." nil :color blue)) -(define-key dired-mode-map "." 'hydra-dired/body) +" + ("\\" dired-do-ispell nil) + ("(" dired-hide-details-mode nil) + (")" dired-omit-mode nil) + ("+" dired-create-directory nil) + ("=" diredp-ediff nil) ;; smart diff + ("?" dired-summary nil) + ("$" diredp-hide-subdir-nomove nil) + ("A" dired-do-find-regexp nil) + ("C" dired-do-copy nil) ;; Copy all marked files + ("D" dired-do-delete nil) + ("E" dired-mark-extension nil) + ("e" dired-ediff-files nil) + ("F" dired-do-find-marked-files nil) + ("G" dired-do-chgrp nil) + ("g" revert-buffer nil) ;; read all directories again (refresh nil) + ("i" dired-maybe-insert-subdir nil) + ("l" dired-do-redisplay nil) ;; relist the marked or singel directory + ("M" dired-do-chmod nil) + ("m" dired-mark nil) + ("O" dired-display-file nil) + ("o" dired-find-file-other-window nil) + ("Q" dired-do-find-regexp-and-replace nil) + ("R" dired-do-rename nil) + ("r" dired-do-rsynch nil) + ("S" dired-do-symlink nil) + ("s" dired-sort-toggle-or-edit nil) + ("t" dired-toggle-marks nil) + ("U" dired-unmark-all-marks nil) + ("u" dired-unmark nil) + ("v" dired-view-file nil) ;; q to exit, s to search, = gets line # + ("w" dired-kill-subdir nil) + ("W" wdired-change-to-wdired-mode nil) + ("Y" dired-do-relsymlink nil) + ("z" diredp-compress-this-file nil) + ("Z" dired-do-compress nil) + ("q" nil nil) + ("." nil nil :color blue)) + +(define-key dired-mode-map "?" 'hydra-dired/body) ;; *** Ediff Config @@ -5067,6 +5124,7 @@ T - tag prefix (insert "-.snapshot\n-.git\n-.RCS\n")) (message (format "Turned %s into projectile project" default-directory))) +;; FIXME: add custom docstring (defhydra hydra-projectile ( :color teal :columns 4) @@ -5090,8 +5148,8 @@ T - tag prefix ("k" projectile-kill-buffers "Kill Buffers") ("q" nil "Cancel" :color blue)) -(global-set-key (kbd "C-p") 'hydra-projectile/body) -(defalias 'p 'hydra-projectile/body) +(global-set-key (kbd "C-x p") 'hydra-projectile/body) + ;; -------------------------------------------------------------------------------- ;; *** Occur @@ -5112,28 +5170,54 @@ T - tag prefix ;; *** Window Hydra -(defhydra hydra-windows (:color blue) - " -^Window Management^ -^^--------------------------- -_s_: Resize Windiws -_f_: Flip Windows -_4_: Quarter Windows -_u_: Windows Undo -_r_: Windows Redo -_i_: Invert Colors -_b_: Adjust Background Color +;; brightness wrappers +(defun tvd-bg-brighter () + (interactive) + (doremi-increment-background-color-1 ?v -1)) +(defun tvd-bg-darker () + (interactive) + (doremi-increment-background-color-1 ?v 1)) + +(defhydra hydra-windows (:color blue) +" + +^Window Management^ +^^------------------------------------------------------------------------ +_+_ Increase Font | _-_ Decrease Font Resize ^ ^ _w_ ^ ^ +_f_: Flip Windows ^^ Current _a_ ^ ^ _d_ +_4_: Quarter Windows ^^ Window: ^ ^ _s_ ^ ^ +_u_: Windows Undo +_r_: Windows Redo ^^ _l_: Adjust Background brighter +_i_: Invert Colors ^^ _b_: Adjust Background darker + +_h_: Toggle Highlight Line Mode +_n_: Toogle Line Number Mode + +^^------------------------------------------------------------------------ +Reach this hydra with +^^------------------------------------------------------------------------ " - ("s" windresize) - ("f" flip-windows) - ("4" tvd-quarter-windows) - ("u" winner-undo) - ("r" winner-redo) - ("i" tvd-invert) - ("b" doremi-bg-brightness+) - ("q" nil :color red)) + ("+" tvd-global-font-size-bigger nil :color pink) + ("-" tvd-global-font-size-smaller nil :color pink) + ("f" flip-windows nil) + ("4" tvd-quarter-windows nil) + ("u" winner-undo nil) + ("r" winner-redo nil) + ("i" tvd-invert nil) + ("b" tvd-bg-darker nil :color pink) + ("l" tvd-bg-brighter nil :color pink) + ("a" shrink-window-horizontally nil :color pink) + ("d" enlarge-window-horizontally nil :color pink) + ("w" shrink-window nil :color pink) + ("s" enlarge-window nil :color pink) + ("h" hl-line-mode nil) + ("n" linum-mode nil) + ("q" nil nil :color red)) + +(global-set-key (kbd "C-x w") 'hydra-windows/body) + ;; ** Emacs Interface ;; *** Parens diff --git a/emacs.html b/emacs.html index f79d1be..c2a2149 100644 --- a/emacs.html +++ b/emacs.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -232,211 +232,211 @@ for the JavaScript code in this tag.

Table of Contents

-Toms Emacs Config - portable - version (20181004.01) -*-emacs-lisp-*- +Toms Emacs Config - portable - version (20181019.01) -*-emacs-lisp-*-

-
-

1 Introduction

+
+

1 Introduction

This is my emacs config, it is more than twenty years old. It @@ -490,11 +490,11 @@ outshine-to-html, written by myself, see below.

-
-

2 Config Log, Trivia, Notes, Changes

+
+

2 Config Log, Trivia, Notes, Changes

-
-

2.1 Changelog

+
+

2.1 Changelog

20160420.03: @@ -1618,11 +1618,38 @@ didn't know about it before

  • finished org table hydra
  • added info hydra, fixed 't bug
  • + +

    +20181016.01 +

    +
      +
    • fixed dired under cygwin w/o git
    • +
    + +

    +20181019.01 +

    +
      +
    • using C-x for all hydras now: +C-x w: windows +C-x t: org table +C-y p: projectile
    • +
    • added copy org table row
    • +
    • enhanced window hyrda by resizing chords
    • +
    • changed table copy key chords (C-c t [ctr]
    • +
    + + +
      +
    • better windows hydra
    • +
    • on help close restore windows setup
    • +
    • fixed hydra hints
    • +
    -
    -

    2.2 TODO

    +
    +

    2.2 TODO

    • check dired hydra
    • @@ -1645,16 +1672,16 @@ Old
    -
    -

    2.3 Parking Lot / Snippets

    +
    +

    2.3 Parking Lot / Snippets

    Snippets which maybe of use in the future

    -
    -

    2.3.1 buffer-local hook

    +
    +

    2.3.1 buffer-local hook

    (with-current-buffer (get-buffer "scratch") @@ -1667,8 +1694,8 @@ Snippets which maybe of use in the future

    -
    -

    2.4 .emacs config version

    +
    +

    2.4 .emacs config version

    My emacs config has a version (consisting of a timestamp with a @@ -1676,7 +1703,7 @@ serial), which I display in the mode line. So I can clearly see, if I'm using an outdated config somewhere.

    -
    (defvar tvd-emacs-version "20181004.01")
    +
    (defvar tvd-emacs-version "20181019.01")
     
    @@ -1685,11 +1712,11 @@ I'm using an outdated config somewhere.
    -
    -

    3 System Specifics

    +
    +

    3 System Specifics

    -
    -

    3.1 Global init file+dir vars, portable

    +
    +

    3.1 Global init file+dir vars, portable

    • added dev function which opens a new development frame
    • @@ -1727,8 +1754,8 @@ all modes and extensions are located here
    -
    -

    3.2 Shortcut Mode - mode specific help about my own customizations

    +
    +

    3.2 Shortcut Mode - mode specific help about my own customizations

    FIXME: complete @@ -1747,8 +1774,8 @@ all modes and extensions are located here


    -
    -

    3.3 Fontlock-mode - use syntax highlighting on graphical displays

    +
    +

    3.3 Fontlock-mode - use syntax highlighting on graphical displays

    look: emacswiki @@ -1765,8 +1792,8 @@ look: emacswiki


    -
    -

    3.4 line-cursor in console

    +
    +

    3.4 line-cursor in console

    better visibility of cursor in console sessions @@ -1782,8 +1809,8 @@ better visibility of cursor in console sessions


    -
    -

    3.5 Backup Config

    +
    +

    3.5 Backup Config

    I save backup files in a central location below the init dir, that @@ -1854,8 +1881,8 @@ This is system specific and only matches special host names.


    -
    -

    3.6 console backspace fix

    +
    +

    3.6 console backspace fix

    make backspace work in console sessions @@ -1868,8 +1895,8 @@ make backspace work in console sessions


    -
    -

    3.7 hide menu- and tool-bar

    +
    +

    3.7 hide menu- and tool-bar

    I prefer a bare bones emacs window without any distractions, so turn them off. @@ -1885,8 +1912,8 @@ I prefer a bare bones emacs window without any distractions, so turn them off.


    -
    -

    3.8 stay silent on startup

    +
    +

    3.8 stay silent on startup

    (setq initial-scratch-message "")
    @@ -1899,8 +1926,8 @@ I prefer a bare bones emacs window without any distractions, so turn them off.
     
    -
    -

    3.9 y means yes

    +
    +

    3.9 y means yes

    y is shorter than yes and less error prone. @@ -1913,8 +1940,8 @@ y is shorter than yes and less error prone.


    -
    -

    3.10 show col in modeline

    +
    +

    3.10 show col in modeline

    very useful to know current column @@ -1927,8 +1954,8 @@ very useful to know current column


    -
    -

    3.11 file or buffer in title

    +
    +

    3.11 file or buffer in title

    this can be seen in xmobar @@ -1942,8 +1969,8 @@ this can be seen in xmobar


    -
    -

    3.12 avoid invalid files

    +
    +

    3.12 avoid invalid files

    (setq require-final-newline t)
    @@ -1953,8 +1980,8 @@ this can be seen in xmobar
     
    -
    -

    3.13 prepare load-path

    +
    +

    3.13 prepare load-path

    where to look for extensions: @@ -1982,8 +2009,8 @@ modules


    -
    -

    3.14 byte-compile all of them, if needed

    +
    +

    3.14 byte-compile all of them, if needed

    handy function to recompile all lisp files @@ -1998,8 +2025,8 @@ handy function to recompile all lisp files


    -
    -

    3.15 increase fontsize with ctrl-+ and ctrl--

    +
    +

    3.15 increase fontsize with ctrl-+ and ctrl--

    I use those bindings everywhere (firefox, terminal, etc), and in @@ -2025,11 +2052,11 @@ emacs as well.


    -
    -

    3.16 WINDOW management stuff

    +
    +

    3.16 WINDOW management stuff

    -
    -

    3.16.1 resize windows by keyboard

    +
    +

    3.16.1 resize windows by keyboard

    Very practical: resize windows easily. @@ -2046,8 +2073,8 @@ hit C-c C-r then use cursor keys to resize, <ret> to finish

    -
    -

    3.16.2 switch windows with MS-WINDOWS key

    +
    +

    3.16.2 switch windows with MS-WINDOWS key

    (require 'windmove)
    @@ -2058,8 +2085,8 @@ hit C-c C-r then use cursor keys to resize, <ret> to finish
     
    -
    -

    3.16.3 M-o switch window or buffer

    +
    +

    3.16.3 M-o switch window or buffer

    via mbork @@ -2137,8 +2164,8 @@ Use only in X11 emacs - setting M-O inside console causes <up> and


    -
    -

    3.16.4 Split window to 4 parts

    +
    +

    3.16.4 Split window to 4 parts

    (defun tvd-quarter-windows ()
    @@ -2156,8 +2183,8 @@ Use only in  X11 emacs - setting M-O inside console  causes <up> and
     
    -
    -

    3.16.5 Remember and Restore Window Configurations - winner mode

    +
    +

    3.16.5 Remember and Restore Window Configurations - winner mode

    (winner-mode 1)
    @@ -2172,8 +2199,8 @@ keybindings: C-c right   - winner-redo
     
    -
    -

    3.17 re-read a modified buffer

    +
    +

    3.17 re-read a modified buffer

    F5 == reload file if it has been modified by another process, shift @@ -2198,8 +2225,8 @@ because Xmonad


    -
    -

    3.18 global TAB/Indent config

    +
    +

    3.18 global TAB/Indent config

    I use spaces everywhere but Makefiles. If I encounter TABs I @@ -2239,8 +2266,8 @@ Use normal tabs in makefiles


    -
    -

    3.19 handy aliases

    +
    +

    3.19 handy aliases

    M-x q r <ret> is short enough for me, no need for key bindings for @@ -2271,8 +2298,8 @@ those


    -
    -

    3.20 various settings

    +
    +

    3.20 various settings

    point stays while scrolling @@ -2325,8 +2352,8 @@ I'm grown up!


    -
    -

    3.21 load imenu

    +
    +

    3.21 load imenu

    (define-key global-map [C-down-mouse-2] 'imenu)
    @@ -2336,8 +2363,8 @@ I'm grown up!
     
    -
    -

    3.22 copy/paste Config

    +
    +

    3.22 copy/paste Config

    Related: @@ -2404,8 +2431,8 @@ marked region automatically copied, also on win


    -
    -

    3.23 use more mem

    +
    +

    3.23 use more mem

    are you from the past? @@ -2418,8 +2445,8 @@ are you from the past?


    -
    -

    3.24 better file name completion

    +
    +

    3.24 better file name completion

    Complete filenames case insensitive and ignore certain files during completion. @@ -2449,8 +2476,8 @@ via -

    3.25 abbreviations

    +
    +

    3.25 abbreviations

    Do I really need those anymore? Added ca 1999… @@ -2480,8 +2507,8 @@ do NOT ask to save abbrevs on exit

    -
    -

    3.26 meaningful names for buffers with the same name

    +
    -
    -

    3.27 packages

    +
    +

    3.27 packages

    I dont need it all the time and only for experimentation, so lets @@ -2523,8 +2550,8 @@ only use melpa on demand


    -
    -

    3.28 My own global variables

    +
    +

    3.28 My own global variables

    narrowed fringe background @@ -2537,11 +2564,11 @@ narrowed fringe background


    -
    -

    3.29 More scratch space

    +
    +

    3.29 More scratch space

    -
    -

    3.29.1 Text scratch

    +
    +

    3.29.1 Text scratch

    Sometimes I need a text mode scratch buffer while scratch is @@ -2557,8 +2584,8 @@ this never gets deleted, but cleaned instead.

    -
    -

    3.29.2 Autoscratch

    +
    +

    3.29.2 Autoscratch

    use autoscratch otherwise @@ -2589,8 +2616,8 @@ use autoscratch otherwise

    -
    -

    3.29.3 Persistent Scratch

    +
    +

    3.29.3 Persistent Scratch

    I also like to be scratch buffers persistent with @@ -2612,8 +2639,8 @@ I also like to be scratch buffers persistent with

    -
    -

    3.30 Recenter config

    +
    +

    3.30 Recenter config

    via abo abo @@ -2634,13 +2661,13 @@ I think this is a recenter calculation bug.

    -
    -

    4 Global Key Bindings

    +
    +

    4 Global Key Bindings


    -
    -

    4.1 c-h != delete

    +
    +

    4.1 c-h != delete

    (keyboard-translate ?\C-h ?\C-?)
    @@ -2651,8 +2678,8 @@ I think this is a recenter calculation bug.
     
    -
    -

    4.2 general keys (re-)mappings

    +
    +

    4.2 general keys (re-)mappings

    (global-set-key (kbd "C-s") 'isearch-forward-regexp) @@ -2682,8 +2709,8 @@ I think this is a recenter calculation bug.


    -
    -

    4.3 display a list of my own global key bindings and aliases

    +
    +

    4.3 display a list of my own global key bindings and aliases

    via emacswiki @@ -2760,13 +2787,13 @@ more help with: describe-function occur-mode

    -
    -

    5 Productivity Functions

    +
    +

    5 Productivity Functions


    -
    -

    5.1 goto line with tmp line numbers

    +
    +

    5.1 goto line with tmp line numbers

    I stole this somewhere, as far as I remember, emacswiki, however, I @@ -2790,8 +2817,8 @@ always had F7 for goto-line


    -
    -

    5.2 invert fore- and background

    +
    +

    5.2 invert fore- and background

    Sometimes when sitting in a very dark enviroment, my usual light @@ -2834,8 +2861,8 @@ fast


    -
    -

    5.3 Some useful bindings for Home and End keys Hit the key once to

    +
    +

    5.3 Some useful bindings for Home and End keys Hit the key once to

    Go to the beginning/end of a line, hit it twice in a row to go to @@ -2899,8 +2926,8 @@ This is the most natural use for those keys


    -
    -

    5.4 percent function

    +
    +

    5.4 percent function

    by Jens Heunemann: jump to percent position into current buffer @@ -2921,8 +2948,8 @@ by Jens Heunemann: jump to percent position into current buffer


    -
    -

    5.5 Simulate vi's % function

    +
    +

    5.5 Simulate vi's % function

    There's not a lot about vi[m] I like, but jumping with % to a @@ -2954,8 +2981,8 @@ just insert a literal ?%. Only make sense if bound to %.


    -
    -

    5.6 Move region

    +
    +

    5.6 Move region

    Mark a region, then use M-up|down to move it around @@ -3054,8 +3081,8 @@ code from -

    5.7 comment-uncomment region with one key binding

    + -
    -

    5.8 search for symbol at point

    +
    +

    5.8 search for symbol at point

    Simulate the # function of vi, marks the symbol at point, C-s then @@ -3122,8 +3149,8 @@ via ergomacs


    -
    -

    5.9 Window Margin

    +
    +

    5.9 Window Margin

    Kinda screen reader for the poor. I use this sometimes with info @@ -3149,8 +3176,8 @@ left+right margin on demand (but nothing else)


    -
    -

    5.10 Fill and justify a paragraph

    +
    +

    5.10 Fill and justify a paragraph

    this is just a shortcut for: @@ -3179,8 +3206,8 @@ idea via: -

    5.11 Make a read-only copy of the current buffer

    +
    +

    5.11 Make a read-only copy of the current buffer

    I just create a new read-only buffer and copy the contents of the @@ -3229,8 +3256,8 @@ a file is not maintained via VC anyway.


    -
    -

    5.12 Cleanup, close all windows and kill all buffers

    +
    +

    5.12 Cleanup, close all windows and kill all buffers

    From time to time I get annoyed by the many dozen buffers @@ -3263,8 +3290,8 @@ setup accidentally.


    -
    -

    5.13 Cleanup current buffer

    +
    -
    -

    5.14 Remove Umlauts and other crab in current buffer

    +
    +

    5.14 Remove Umlauts and other crab in current buffer

    converts: @@ -3339,8 +3366,8 @@ used in dired buffers to cleanup filenames by german windows users.


    -
    -

    5.15 Better newline(s)

    +
    +

    5.15 Better newline(s)

    Add newline and jump to indent from wherever I am in the current @@ -3383,8 +3410,8 @@ disabled, interferes with modes.


    -
    -

    5.16 Mouse Rectangle

    +
    -
    -

    5.17 DOS <=> UNIX conversion helpers

    +
    +

    5.17 DOS <=> UNIX conversion helpers

    (defun dos2unix ()
    @@ -3432,8 +3459,8 @@ via stackoverflow
     
    -
    -

    5.18 helper do add the same thing to multiple mode hooks

    +
    +

    5.18 helper do add the same thing to multiple mode hooks

    via stackoverflow @@ -3451,8 +3478,8 @@ usage samples below.

    -
    -

    5.19 helper to catch load errors

    +
    +

    5.19 helper to catch load errors

    Try to eval 'fn, catch errors, if any but make it possible for @@ -3474,8 +3501,8 @@ emacs to continue undisturbed, used with SMEX, see below.


    -
    -

    5.20 Alignment Wrappers

    +
    +

    5.20 Alignment Wrappers

    align-regexp is already a very usefull tool, however, sometimes I @@ -3525,8 +3552,8 @@ wrappers to make this easier.

    -
    -

    5.21 String Helpers

    +
    +

    5.21 String Helpers

    Some helper functions I use here and there. @@ -3565,14 +3592,14 @@ Some helper functions I use here and there.

    -
    -

    6 Modes

    +
    +

    6 Modes

    -
    -

    6.1 Programming Languages

    +
    +

    6.1 Programming Languages

    -
    -

    6.1.1 VALA

    +
    +

    6.1.1 VALA

    (autoload 'vala-mode "vala-mode" "Major mode for editing Vala code." t)
    @@ -3587,8 +3614,8 @@ Some helper functions I use here and there.
     
    -
    -

    6.1.2 python mode

    +
    +

    6.1.2 python mode

    Not much configured for python, I'm happy with the defaults as it seems :) @@ -3616,8 +3643,8 @@ Not much configured for python, I'm happy with the defaults as it seems :)

    -
    -

    6.1.3 cperl mode

    +
    +

    6.1.3 cperl mode

    I am a perl addict. I love it, therefore, emacs must be prepared @@ -3764,8 +3791,8 @@ and hook them into cperl

    -
    -

    6.1.4 Paredit for lisp only

    +
    +

    6.1.4 Paredit for lisp only

    I use paredit in lisp a lot, but are mostly happy with the defaults. @@ -3808,8 +3835,8 @@ sometimes I need to be able to turn it off fast:

    -
    -

    6.1.5 ETAGS

    +
    +

    6.1.5 ETAGS

    I use ETAGS for some projects. With etags I can easily jump to the @@ -3886,11 +3913,11 @@ some handy aliases

    -
    -

    6.2 Text Modes

    +
    +

    6.2 Text Modes

    -
    -

    6.2.1 sgml

    +
    +

    6.2.1 sgml

    Used for XML and the likes. @@ -3917,8 +3944,8 @@ Used for XML and the likes.

    -
    -

    6.2.2 web-mode (JS, HTML, CSS combined)

    +
    +

    6.2.2 web-mode (JS, HTML, CSS combined)

    Web development is shit. Tech involved is a mess, and in most cases @@ -4012,8 +4039,8 @@ convert a text list into a html list.

    -
    -

    6.2.3 Cisco Mode

    +
    +

    6.2.3 Cisco Mode

    Written by myself many years ago, but I'm still using it daily to @@ -4031,8 +4058,8 @@ view and prepare cisco configs.

    -
    -

    6.2.4 Markdown

    +
    +

    6.2.4 Markdown

    I rarely use markdown, but sometimes I stumble upon such a file and @@ -4068,8 +4095,8 @@ parens and quotes constraints check on save

    -
    -

    6.2.5 POD mode

    +
    +

    6.2.5 POD mode

    I LOVE POD! POD is the documentation format of perl and there's a @@ -4203,8 +4230,8 @@ pod mode config


    -
    -

    6.2.6 conf-mode

    +
    +

    6.2.6 conf-mode

    conf-mode annoyingly overwrites the global keybinding C-c C-c with @@ -4225,10 +4252,10 @@ configs. Applies for derivates as well.

    -
    -

    6.2.7 Config::General mode

    +
    +

    6.2.7 Config::General mode

    -
    1. Config and doc
      +
      1. Config and doc

        config-general-mode (also on Melpa).

        @@ -4247,7 +4274,7 @@ both did not satisfy me. Now (as of 20170625) I solved this mess once and for al
    -
  • Convenicence Wrappers
    +
  • Convenicence Wrappers
    (defun config-general-completion-at-point ()
       "Complete word at point using hippie-expand, if not on a comment."
    @@ -4347,7 +4374,7 @@ Bugreport: http://d
     
  • -
  • Mode Hook
    +
  • Mode Hook

    I use TAB for completion AND tab and outshine. Also, the mode enables electric indent automatically, but I disabled it for @@ -4396,8 +4423,8 @@ for config-general-mode (which inherits from conf-mode).


  • -
    -

    6.2.8 Xmodmap Mode

    +
    +

    6.2.8 Xmodmap Mode

    the shortest mode ever, via emacswiki. @@ -4420,10 +4447,10 @@ the shortest mode ever, vi

    -
    -

    6.2.9 MMM Mode

    +
    +

    6.2.9 MMM Mode

    -
    1. MMM configure:
      +
      1. MMM configure:
        (add-to-list 'load-path (concat tvd-lisp-dir "/mmm-mode"))
         
        @@ -4442,7 +4469,7 @@ see doc for class definition in var 'mmm-classes-alist
         

      2. -
      3. MMM config for POD mode
        +
      4. MMM config for POD mode
        (mmm-add-classes
          '((html-pod
        @@ -4460,11 +4487,11 @@ see doc for class definition in var 'mmm-classes-alist
         
        -
        -

        6.3 Text Manupilation

        +
        +

        6.3 Text Manupilation

        -
        -

        6.3.1 expand-region

        +
        +

        6.3.1 expand-region

        One of the best modes I ever discovered. Press C-= multiple times @@ -4483,8 +4510,8 @@ related to ER:

        -
        -

        6.3.2 Mark, Copy, Yank Things

        +
        +

        6.3.2 Mark, Copy, Yank Things

        For a long time this stuff was located here in my emacs config. As @@ -4587,8 +4614,8 @@ it appears as NNN,NN.

        -
        -

        6.3.3 change-inner

        +
        +

        6.3.3 change-inner

        I use change-inner with a prefix key and some wrappers around @@ -4710,8 +4737,8 @@ typing the prefix key twice calls the real change-inner


        -
        -

        6.3.4 Rotate text

        +
        +

        6.3.4 Rotate text

        This one is great as well, I use it to toggle flags and such stuff @@ -4767,8 +4794,8 @@ short command anymore, so C-t would be free now, wouldn't it?

        -
        -

        6.3.5 Word wrapping

        +
        +

        6.3.5 Word wrapping

        same as word-wrap but without the fringe which I hate the most! @@ -4790,8 +4817,8 @@ overwritten by visual-line-mode above for specifics

        -
        -

        6.3.6 Viking Mode

        +
        +

        6.3.6 Viking Mode

        Delete stuff fast. Press the key multiple times - delete more @@ -4809,8 +4836,8 @@ things. Inspired by expand-region. Written by myself.

        -
        -

        6.3.7 HTMLize

        +
        +

        6.3.7 HTMLize

        extracted from debian package emacs-goodies-el-35.2+nmu1, since @@ -4827,8 +4854,8 @@ the current buffer, however it looks.

        -
        -

        6.3.8 iEdit (inline edit multiple searches)

        +
        +

        6.3.8 iEdit (inline edit multiple searches)

        Edit all occurences of something at once. Great for re-factoring. @@ -4869,11 +4896,11 @@ behavior, so, I modify it myself using defadvice.

        -
        -

        6.4 Interactives

        +
        +

        6.4 Interactives

        -
        -

        6.4.1 Hydra

        +
        +

        6.4.1 Hydra

        Used here and there below @@ -4884,8 +4911,8 @@ Used here and there below

        -
        -

        6.4.2 eShell stuff, or if interactive stuff is needed, use ansi-term

        +
        +

        6.4.2 eShell stuff, or if interactive stuff is needed, use ansi-term

        I am a hardcore bash user, but from time to time eshell is good @@ -5165,8 +5192,8 @@ no need for less or more, this is emacs, isn't it?

        -
        -

        6.4.3 Emacs LISP interactive

        +
        +

        6.4.3 Emacs LISP interactive

        General configuration for all things elisp. @@ -5377,8 +5404,8 @@ opens a new frame with all those buffers already opened and pinned.


        -
        -

        6.4.4 el2markdown

        +
        +

        6.4.4 el2markdown

        el2markdown is a module which @@ -5402,8 +5429,8 @@ README.md. Take care though: it doesn't convert the META section.

        -
        -

        6.4.5 tramp mode

        +
        +

        6.4.5 tramp mode

        Edit remote files, one of the best things in emacs. I use it every day heavily. @@ -5431,8 +5458,8 @@ see also backup section

        -
        -

        6.4.6 org mode

        +
        +

        6.4.6 org mode

        I use org mode to take notes mostly at work. I also track projects @@ -5746,8 +5773,8 @@ always use the latest docs


        -
        -

        6.4.7 org table mode

        +
        +

        6.4.7 org table mode

        I'm so used to lovely org mode tables, I need them everywhere! @@ -5997,7 +6024,7 @@ In org mode I sometimes want to copy the content of a table cell (org-table-delete-column) (re-search-forward "|") (org-table-insert-column) - (org-table-goto-col-beginning) + (tvd-org-table-goto-col-beginning) (insert head) (org-table-align)) ) @@ -6010,7 +6037,7 @@ via -

        (defun org-table-goto-col-beginning ()
        +
        (defun tvd-org-table-goto-col-beginning ()
           "Go to beginning of current column and return `point'."
           (interactive)
           (assert (org-table-p) "Not in org-table.")
        @@ -6020,12 +6047,12 @@ via defun org-table-col-beginning ()
        +(defun tvd-org-table-col-beginning ()
           "Return beginning position of current column."
           (save-excursion
        -    (org-table-goto-col-beginning)))
        +    (tvd-org-table-goto-col-beginning)))
         
        -(defun org-table-goto-col-end ()
        +(defun tvd-org-table-goto-col-end ()
           "Goto end of current column and return `point'."
           (interactive)
           (assert (org-table-p) "Not in org-table.")
        @@ -6036,30 +6063,52 @@ via "^|"))
           (point))
         
        -(defun org-table-col-end ()
        +(defun tvd-org-table-col-end ()
           "Return end position of current column."
           (save-excursion
        -    (org-table-goto-col-end)))
        +    (tvd-org-table-goto-col-end)))
         
        -(defun org-table-select-col ()
        +(defun tvd-org-table-select-col ()
           "Select current column."
           (interactive)
        -  (set-mark (org-table-col-beginning))
        -  (org-table-goto-col-end)
        +  (set-mark (tvd-org-table-col-beginning))
        +  (tvd-org-table-goto-col-end)
           (rectangle-mark-mode))
         
        -(defun org-table-copy-col ()
        +(defun tvd-copy-org-table-col ()
           "Copy current column."
           (interactive)
        -  (org-table-select-col)
        +  (tvd-org-table-select-col)
           (sit-for 0.2 t)
        -  (copy-rectangle-as-kill (org-table-col-beginning) (org-table-col-end)))
        +  (copy-region-as-kill nil nil t)
        +  (with-temp-buffer
        +    (yank)
        +    (delete-trailing-whitespace)
        +    (delete-whitespace-rectangle (point-min) (point-max))
        +    (font-lock-unfontify-buffer)
        +    (copy-region-as-kill (point-min) (point-max))))
        +
        +(defun tvd-copy-org-table-row ()
        +  "Copy current row, space aligned"
        +  (interactive)
        +  (mcyt-copy-line)
        +  (with-temp-buffer
        +    (yank)
        +    (goto-char (point-min))
        +    (let ((spc ""))
        +      (while (re-search-forward "|[ ]*" nil t)
        +        (replace-match spc)
        +        (setq spc " ")))
        +    (delete-trailing-whitespace)
        +    (copy-region-as-kill (point-min) (point-max))))
        +
         
         (with-eval-after-load "org"
           (add-hook 'org-mode-hook
                     (lambda ()
        -              (local-set-key (kbd "C-c o") 'org-table-copy-col)
        -              (local-set-key (kbd "C-c c") 'tvd-copy-org-table-cell))))
        +              (local-set-key (kbd "C-c t l") 'tvd-copy-org-table-col)
        +              (local-set-key (kbd "C-c t r") 'tvd-copy-org-table-row)
        +              (local-set-key (kbd "C-c t c") 'tvd-copy-org-table-cell))))
         
        @@ -6068,8 +6117,9 @@ eval-after-load 'orgtbl doesn't work

        (add-hook 'orgtbl-mode-hook '(lambda ()
        -                               (define-key orgtbl-mode-map (kbd "C-c o") 'org-table-copy-col)
        -                               (define-key orgtbl-mode-map (kbd "C-c c") 'tvd-copy-org-table-cell)))
        +                               (define-key orgtbl-mode-map (kbd "C-c t l") 'tvd-copy-org-table-col)
        +                               (define-key orgtbl-mode-map (kbd "C-c t r") 'tvd-copy-org-table-row)
        +                               (define-key orgtbl-mode-map (kbd "C-c t c") 'tvd-copy-org-table-cell)))
         
        @@ -6087,53 +6137,59 @@ table hydras, maybe better than aliases?!
        (defhydra hydra-org-tables (:color blue)
           "
        -^Sort by^             ^Transform to^      ^Copy/Del what^       ^Modify^                 ^Outside Org^
        -^^^^^^^^----------------------------------------------------------------------------------------------------------
        -_sa_:  alphanumeric   _tc_: CSV           _cl_: Copy Column     _ic_: Insert Column      _ot_: Table to Org Mode
        -_sA_: -alphanumeric   _te_: Excel         _cc_: Copy Cell       _ir_: Insert Row         _oe_: Enable Org-Tbl Mode
        -_si_:  ip             _tl_: Latex         ^^                    _il_: Insert Line        _oc_: Turn region to columns
        -_sI_: -ip             _th_: HTML          _dd_: Delete Cell     _tr_: Transpose Table
        +^Sort by^             ^Transform to^      ^Copy/Del what^                ^Modify^                 ^Outside Org^
        +^^^^^^^^-----------------------------------------------------------------------------------------------------------------------
        +_sa_:  alphanumeric   _tc_: CSV           _cl_: Copy Column (C-c t l)    _ic_: Insert Column      _ot_: Table to Org Mode
        +_sA_: -alphanumeric   _te_: Excel         _cr_: Copy Row    (C-c t r)    _ir_: Insert Row         _oe_: Enable Org-Tbl Mode
        +_si_:  ip             _tl_: Latex         _cc_: Copy Cell   (C-c t c)    _il_: Insert Line        _oc_: Turn region to columns
        +_sI_: -ip             _th_: HTML          _dd_: Delete Cell              _tr_: Transpose Table
         _sn_:  numeric        _tt_: Tab           _dc_: Delete Column
         _sN_: -numeric        _ta_: Aligned       _dr_: Delete Row
         _st_:  time           ^^                  _kr_: Kill Row
        -_sT_: -time           ^^                  _kc_: Kill Column     ^^                       _q_: Cancel
        +_sT_: -time           ^^                  _kc_: Kill Column              ^^                       _q_: Cancel
        +
        +
        +^^^^^^^^-----------------------------------------------------------------------------------------------------------------------
        +Reach this hydra with <C-x t>
        +^^^^^^^^-----------------------------------------------------------------------------------------------------------------------
         
         
         "
        -  ("sa" sort-table-alphanumeric )
        -  ("sA" sort-table-alphanumeric-desc)
        -  ("si" sort-table-ip)
        -  ("sI" sort-table-ip-desc )
        -  ("sn" sort-table-numeric )
        -  ("sN" sort-table-numeric-desc )
        -  ("st" sort-table-time )
        -  ("sT" sort-table-time-desc )
        +  ("sa" sort-table-alphanumeric  nil)
        +  ("sA" sort-table-alphanumeric-desc nil)
        +  ("si" sort-table-ip nil)
        +  ("sI" sort-table-ip-desc  nil)
        +  ("sn" sort-table-numeric  nil)
        +  ("sN" sort-table-numeric-desc  nil)
        +  ("st" sort-table-time  nil)
        +  ("sT" sort-table-time-desc  nil)
         
        -  ("tc" table-to-csv)
        -  ("te" table-to-excel   )
        -  ("tl" table-to-latex   )
        -  ("th" table-to-html    )
        -  ("tt" table-to-csv-tab )
        -  ("ta" table-to-aligned )
        +  ("tc" table-to-csv nil)
        +  ("te" table-to-excel    nil)
        +  ("tl" table-to-latex    nil)
        +  ("th" table-to-html     nil)
        +  ("tt" table-to-csv-tab  nil)
        +  ("ta" table-to-aligned  nil)
         
        -  ("cl" org-table-copy-col )
        -  ("cc" tvd-copy-org-table-cell)
        -  ("dd" org-table-blank-field)
        -  ("dr" tvd-del-org-table-row)
        -  ("dc" tvd-del-org-table-col)
        -  ("kc" org-table-delete-column)
        -  ("kr" org-table-kill-row)
        +  ("cl" tvd-copy-org-table-col nil)
        +  ("cr" tvd-copy-org-table-row nil)
        +  ("cc" tvd-copy-org-table-cell nil)
        +  ("dd" org-table-blank-field nil)
        +  ("dr" tvd-del-org-table-row nil)
        +  ("dc" tvd-del-org-table-col nil)
        +  ("kc" org-table-delete-column nil)
        +  ("kr" org-table-kill-row nil)
         
        -  ("ic" org-table-insert-column)
        -  ("ir" org-table-insert-row)
        -  ("il" org-table-hline-and-move)
        -  ("tr" org-table-transpose-table-at-point)
        +  ("ic" org-table-insert-column nil)
        +  ("ir" org-table-insert-row nil)
        +  ("il" org-table-hline-and-move nil)
        +  ("tr" org-table-transpose-table-at-point nil)
         
        -  ("ot" tablify )
        -  ("oe" orgtbl-mode)
        -  ("oc" align-repeat)
        +  ("ot" tablify  nil)
        +  ("oe" orgtbl-mode nil)
        +  ("oc" align-repeat nil)
         
        -  ("q" nil :color red))
        +  ("q" nil nil :color red))
         
        @@ -6142,14 +6198,14 @@ allow me to insert org tables everywhere on request

        (defalias 'table     'hydra-org-tables/body)
        -(global-set-key (kbd "C-c t") 'hydra-org-tables/body)
        +(global-set-key (kbd "C-x t") 'hydra-org-tables/body)
         
        -
        -

        6.4.8 org mode slideshows

        +
        +

        6.4.8 org mode slideshows

        Making presentations within emacs with org mode is cool as well. @@ -6257,8 +6313,8 @@ Will be inserted as first help slide in a slide show


        -
        -

        6.4.9 outshine mode

        +
        +

        6.4.9 outshine mode

        I maintain my emacs config with outshine mode. It works a lot like @@ -6438,8 +6494,8 @@ posting online, which makes it way easier to read.

        -
        -

        6.4.10 outline mode

        +
        +

        6.4.10 outline mode

        I use the very same cycle style as in org mode: when on a heading, @@ -6536,8 +6592,8 @@ orange fringe when narrowed


        -
        -

        6.4.11 narrowing (no mode but fits here)

        +
        +

        6.4.11 narrowing (no mode but fits here)

        I use narrowing quite frequently, so here are some enhancements. @@ -6577,8 +6633,8 @@ via -

        6.4.12 ANSI-TERM (inferior shells/interpreters and REPLs)

        +
        +

        6.4.12 ANSI-TERM (inferior shells/interpreters and REPLs)

        I use ansi term for inferior shells only. @@ -6694,8 +6750,8 @@ finally the inferior REPLs:

        -
        -

        6.4.13 Puppet

        +
        +

        6.4.13 Puppet

        adds hook for .pp files @@ -6709,8 +6765,8 @@ adds hook for .pp files

        -
        -

        6.4.14 Novel Mode - Screen Reader

        +
        +

        6.4.14 Novel Mode - Screen Reader

        my own emacs screen reader, very handy to read docs on the road. @@ -6726,8 +6782,8 @@ my own emacs screen reader, very handy to read docs on the road.

        -
        -

        6.4.15 Macro Math

        +
        +

        6.4.15 Macro Math

        see macro-math @@ -6750,8 +6806,8 @@ mark something and hit C-x C-0 (which is a reminder to C-x C-= w/o the shift)

        -
        -

        6.4.16 Common-Lisp (SLIME)

        +
        +

        6.4.16 Common-Lisp (SLIME)

        I'm learing CL with slime, start with M-x slime. @@ -6784,8 +6840,8 @@ INSTALL: (see: -

        6.4.17 INFO Mode

        +
        +

        6.4.17 INFO Mode

        (require 'info)
        @@ -6859,49 +6915,51 @@ from examples, I love this one!, replaces the ? buffer
           ^^_n_ext (same level only)               ^^_H_istory         _g_oto (C-u for new window)          _,_ next index item      _c_opy node name
           ^^_p_rev (same level only)               _<_/_t_op           _b_eginning of buffer                virtual _I_ndex          _C_lone buffer
           regex _s_earch (_S_ case sensitive)      ^^_>_ final         _e_nd of buffer                      ^^                       _a_propos
        +
           _1_ .. _9_ Pick first .. ninth item in the node's menu.
        +
         "
        -      ("]"   Info-forward-node)
        -      ("["   Info-backward-node)
        -      ("n"   Info-next)
        -      ("p"   Info-prev)
        -      ("s"   Info-search)
        -      ("S"   Info-search-case-sensitively)
        +      ("]"   Info-forward-node nil)
        +      ("["   Info-backward-node nil)
        +      ("n"   Info-next nil)
        +      ("p"   Info-prev nil)
        +      ("s"   Info-search nil)
        +      ("S"   Info-search-case-sensitively nil)
         
        -      ("l"   Info-history-back)
        -      ("r"   Info-history-forward)
        -      ("H"   Info-history)
        -      ("t"   Info-top-node)
        -      ("<"   Info-top-node)
        -      (">"   Info-final-node)
        +      ("l"   Info-history-back nil)
        +      ("r"   Info-history-forward nil)
        +      ("H"   Info-history nil)
        +      ("t"   Info-top-node nil)
        +      ("<"   Info-top-node nil)
        +      (">"   Info-final-node nil)
         
        -      ("u"   Info-up)
        -      ("^"   Info-up)
        -      ("m"   Info-menu)
        -      ("g"   Info-goto-node)
        -      ("b"   beginning-of-buffer)
        -      ("e"   end-of-buffer)
        +      ("u"   Info-up nil)
        +      ("^"   Info-up nil)
        +      ("m"   Info-menu nil)
        +      ("g"   Info-goto-node nil)
        +      ("b"   beginning-of-buffer nil)
        +      ("e"   end-of-buffer nil)
         
        -      ("f"   Info-follow-reference)
        -      ("i"   Info-index)
        -      (","   Info-index-next)
        -      ("I"   Info-virtual-index)
        +      ("f"   Info-follow-reference nil)
        +      ("i"   Info-index nil)
        +      (","   Info-index-next nil)
        +      ("I"   Info-virtual-index nil)
         
        -      ("T"   Info-toc)
        -      ("d"   Info-directory)
        -      ("c"   Info-copy-current-node-name)
        -      ("C"   clone-buffer)
        -      ("a"   info-apropos)
        +      ("T"   Info-toc nil)
        +      ("d"   Info-directory nil)
        +      ("c"   Info-copy-current-node-name nil)
        +      ("C"   clone-buffer nil)
        +      ("a"   info-apropos nil)
         
        -      ("1"   Info-nth-menu-item)
        -      ("2"   Info-nth-menu-item)
        -      ("3"   Info-nth-menu-item)
        -      ("4"   Info-nth-menu-item)
        -      ("5"   Info-nth-menu-item)
        -      ("6"   Info-nth-menu-item)
        -      ("7"   Info-nth-menu-item)
        -      ("8"   Info-nth-menu-item)
        -      ("9"   Info-nth-menu-item)
        +      ("1"   Info-nth-menu-item nil)
        +      ("2"   Info-nth-menu-item nil)
        +      ("3"   Info-nth-menu-item nil)
        +      ("4"   Info-nth-menu-item nil)
        +      ("5"   Info-nth-menu-item nil)
        +      ("6"   Info-nth-menu-item nil)
        +      ("7"   Info-nth-menu-item nil)
        +      ("8"   Info-nth-menu-item nil)
        +      ("9"   Info-nth-menu-item nil)
         
               ("?"   Info-summary "Info summary")
               ("h"   Info-help "Info help")
        @@ -6914,8 +6972,8 @@ from examples, I love this one!, replaces the ? buffer
         
        -
        -

        6.4.18 calc et al.

        +
        +

        6.4.18 calc et al.

        emacs provides 4 ways to calculate: @@ -6965,8 +7023,8 @@ or, inferior perl calc: M-x icalc, see above

        -
        -

        6.4.19 MACROs

        +
        +

        6.4.19 MACROs

        help: emacswiki macro tricks. @@ -7179,8 +7237,8 @@ but only load if in use


        -
        -

        6.4.20 EWW browser stuff

        +
        +

        6.4.20 EWW browser stuff

        Emacs has a builtin browser, which is not too bad. @@ -7248,8 +7306,8 @@ hides menus and distractions! Update emacs.


        -
        -

        6.4.21 Firestarter

        +
        +

        6.4.21 Firestarter

        experimental: do things on save buffer etc. @@ -7258,8 +7316,8 @@ Source: firestarter

        -
        -

        6.4.22 Tabulated List Mode

        +
        +

        6.4.22 Tabulated List Mode

        built-in, used by many interactive major modes @@ -7307,19 +7365,24 @@ we need to kill tablist's binding in order to have ours run (see below)

        -
        -

        6.4.23 Help Mode

        +
        +

        6.4.23 Help Mode

        I even customize help windows! … at least a little :)

        -
        (eval-after-load "Help"
        +
        (defun tvd-close-help ()
        +  (interactive)
        +  (kill-this-buffer)
        +  (winner-undo))
        +
        +(eval-after-load "Help"
           '(progn
              (add-hook 'help-mode-hook
                        (lambda ()
        -                 (local-set-key (kbd "q") 'tvd-close-window)
        +                 (local-set-key (kbd "q") 'tvd-close-help)
                          (local-set-key (kbd "x") 'quit-window)
                          (local-set-key (kbd "p") 'help-go-back)
                          (local-set-key (kbd "b") 'help-go-back)
        @@ -7331,8 +7394,8 @@ I even customize help windows! … at least a little :)
         
        -
        -

        6.4.24 Suggest Mode

        +
        +

        6.4.24 Suggest Mode

        suggest mode is a great @@ -7382,8 +7445,8 @@ I use my own clearing function, since suggest doesn't provide this

        -
        -

        6.4.25 Followcursor Mode

        +
        +

        6.4.25 Followcursor Mode

        source on github @@ -7412,8 +7475,8 @@ The mode is a work-in-progress… -

        -

        6.4.26 Magit

        +
        +

        6.4.26 Magit

        Not much to say about Magit @@ -7491,8 +7554,8 @@ Not much to say about Magit


        -
        -

        6.4.27 Dired

        +
        +

        6.4.27 Dired

        I use dired for two things: from inside magit as a convenient way @@ -7510,25 +7573,29 @@ tune this as well.

        -
        1. dired-k
          +
          1. dired-k

            dired-k is k for dired/emacs: it colorizes files and directory by age, that is, the older the greyer they get. And it displays flags about the git status of each file, which is really handy.

            +

            +However, it only works with git installed and if enabled stops +dired to work completely. So I define an exception here and don't +load k if there's no git (e.g. on my notebook at work) +

            -
            (require 'dired-k)
            -
            -(add-hook 'dired-initial-position-hook 'dired-k)
            -(add-hook 'dired-after-readin-hook #'dired-k-no-revert)
            -
            -(setq dired-k-padding 2)
            +
            (when (string-match "version" (shell-command-to-string "git version"))
            +  (require 'dired-k)
            +  (add-hook 'dired-initial-position-hook 'dired-k)
            +  (add-hook 'dired-after-readin-hook #'dired-k-no-revert)
            +  (setq dired-k-padding 2))
             
          2. -
          3. dired-hacks
            +
          4. dired-hacks

            Fuco1s dired-hacks is a place to find the really cool stuff, I mostly use the filters. @@ -7548,7 +7615,7 @@ place to find the really cool stuff, I mostly use the filters.

        2. -
        3. dired sort helpers
          +
        4. dired sort helpers

          This sort function by Xah Lee is easy to use and does what it should, great!, However, I added some -desc @@ -7578,7 +7645,7 @@ sister sorts for reverse sorting.

      5. -
      6. dired git helpers
        +
      7. dired git helpers

        via bin chen: make git commands available from dired buffer, which can be used in @@ -7635,7 +7702,7 @@ called with "hydras".

    -
  • dired navigation
    +
  • dired navigation

    I'm used to jump around with pos1+end

    @@ -7655,7 +7722,7 @@ I'm used to jump around with pos1+end
  • -
  • dired buffer names
    +
  • dired buffer names

    This took me a long time to figure out, but I finally got it: I really hate it how dired names its buffers, it just uses the @@ -7683,7 +7750,7 @@ behavior as a bug, but I doubt many people would agree :)

  • -
  • dired config and key bindings
    +
  • dired config and key bindings

    and finally put everything together.

    @@ -7738,17 +7805,17 @@ and finally put everything together.
  • -
  • Dired Hydra
    +
  • Dired Hydra

    FIXME: not yet customized to fit my own config

    (defhydra hydra-dired (:hint nil :color pink)
       "
    -_+_ mkdir          _v_iew           _m_ark             _(_ details        _i_nsert-subdir    wdired
    -_C_opy             _O_ view other   _U_nmark all       _)_ omit-mode      _$_ hide-subdir    C-x C-q : edit
    -_D_elete           _o_pen other     _u_nmark           _l_ redisplay      _w_ kill-subdir    C-c C-c : commit
    -_R_ename           _M_ chmod        _t_oggle           _g_ revert buf     _e_ ediff          C-c ESC : abort
    +_+_ mkdir          _v_iew           _m_ark             _(_ details        _i_nsert-subdir    _W_dired (EDIT FILENAMES)
    +_C_opy             _O_ view other   _U_nmark all       _)_ omit-mode      _$_ hide-subdir    C-c C-c : edit
    +_D_elete           _o_pen other     _u_nmark           _l_ redisplay      _w_ kill-subdir
    +_R_ename           _M_ chmod        _t_oggle           _g_ revert buf     _e_ ediff          _q_uit
     _Y_ rel symlink    _G_ chgrp        _E_xtension mark   _s_ort             _=_ pdiff
     _S_ymlink          ^ ^              _F_ind marked      _._ toggle hydra   \\ flyspell
     _r_sync            ^ ^              ^ ^                ^ ^                _?_ summary
    @@ -7756,52 +7823,54 @@ and finally put everything together.
     _Z_ compress       _Q_ repl regexp
     
     T - tag prefix
    -"
    -  ("\\" dired-do-ispell)
    -  ("(" dired-hide-details-mode)
    -  (")" dired-omit-mode)
    -  ("+" dired-create-directory)
    -  ("=" diredp-ediff) ;; smart diff
    -  ("?" dired-summary)
    -  ("$" diredp-hide-subdir-nomove)
    -  ("A" dired-do-find-regexp)
    -  ("C" dired-do-copy) ;; Copy all marked files
    -  ("D" dired-do-delete)
    -  ("E" dired-mark-extension)
    -  ("e" dired-ediff-files)
    -  ("F" dired-do-find-marked-files)
    -  ("G" dired-do-chgrp)
    -  ("g" revert-buffer) ;; read all directories again (refresh)
    -  ("i" dired-maybe-insert-subdir)
    -  ("l" dired-do-redisplay) ;; relist the marked or singel directory
    -  ("M" dired-do-chmod)
    -  ("m" dired-mark)
    -  ("O" dired-display-file)
    -  ("o" dired-find-file-other-window)
    -  ("Q" dired-do-find-regexp-and-replace)
    -  ("R" dired-do-rename)
    -  ("r" dired-do-rsynch)
    -  ("S" dired-do-symlink)
    -  ("s" dired-sort-toggle-or-edit)
    -  ("t" dired-toggle-marks)
    -  ("U" dired-unmark-all-marks)
    -  ("u" dired-unmark)
    -  ("v" dired-view-file) ;; q to exit, s to search, = gets line #
    -  ("w" dired-kill-subdir)
    -  ("Y" dired-do-relsymlink)
    -  ("z" diredp-compress-this-file)
    -  ("Z" dired-do-compress)
    -  ("q" nil)
    -  ("." nil :color blue))
     
    -(define-key dired-mode-map "." 'hydra-dired/body)
    +"
    +  ("\\" dired-do-ispell nil)
    +  ("(" dired-hide-details-mode nil)
    +  (")" dired-omit-mode nil)
    +  ("+" dired-create-directory nil)
    +  ("=" diredp-ediff nil) ;; smart diff
    +  ("?" dired-summary nil)
    +  ("$" diredp-hide-subdir-nomove nil)
    +  ("A" dired-do-find-regexp nil)
    +  ("C" dired-do-copy nil) ;; Copy all marked files
    +  ("D" dired-do-delete nil)
    +  ("E" dired-mark-extension nil)
    +  ("e" dired-ediff-files nil)
    +  ("F" dired-do-find-marked-files nil)
    +  ("G" dired-do-chgrp nil)
    +  ("g" revert-buffer nil) ;; read all directories again (refresh nil)
    +  ("i" dired-maybe-insert-subdir nil)
    +  ("l" dired-do-redisplay nil) ;; relist the marked or singel directory
    +  ("M" dired-do-chmod nil)
    +  ("m" dired-mark nil)
    +  ("O" dired-display-file nil)
    +  ("o" dired-find-file-other-window nil)
    +  ("Q" dired-do-find-regexp-and-replace nil)
    +  ("R" dired-do-rename nil)
    +  ("r" dired-do-rsynch nil)
    +  ("S" dired-do-symlink nil)
    +  ("s" dired-sort-toggle-or-edit nil)
    +  ("t" dired-toggle-marks nil)
    +  ("U" dired-unmark-all-marks nil)
    +  ("u" dired-unmark nil)
    +  ("v" dired-view-file nil) ;; q to exit, s to search, = gets line #
    +  ("w" dired-kill-subdir nil)
    +  ("W" wdired-change-to-wdired-mode nil)
    +  ("Y" dired-do-relsymlink nil)
    +  ("z" diredp-compress-this-file nil)
    +  ("Z" dired-do-compress nil)
    +  ("q" nil nil)
    +  ("." nil nil :color blue))
    +
    +(define-key dired-mode-map "?" 'hydra-dired/body)
     
  • -
    -

    6.4.28 Ediff Config

    +
    +

    6.4.28 Ediff Config

    Force ediff to use 1 frame (the current) and not open a new frame @@ -7849,8 +7918,8 @@ Usage: emacs -diff file1 file2


    -
    -

    6.4.29 Projectile

    +
    +

    6.4.29 Projectile

    (require 'projectile)
    @@ -7862,8 +7931,14 @@ Usage: emacs -diff file1 file2
       (with-temp-file ".projectile"
         (insert "-.snapshot\n-.git\n-.RCS\n"))
       (message (format "Turned %s into projectile project" default-directory)))
    +
    +
    -(defhydra hydra-projectile +

    +FIXME: add custom docstring +

    +
    +
    (defhydra hydra-projectile
       ( :color teal
         :columns 4)
       "Projectile (use C-p for this menu)"
    @@ -7886,16 +7961,16 @@ Usage: emacs -diff file1 file2
       ("k"   projectile-kill-buffers             "Kill Buffers")
       ("q"   nil                                 "Cancel" :color blue))
     
    -(global-set-key (kbd "C-p") 'hydra-projectile/body)
    -(defalias 'p 'hydra-projectile/body)
    +(global-set-key (kbd "C-x p") 'hydra-projectile/body)
     
    +
    -
    -

    6.4.30 Occur

    +
    +

    6.4.30 Occur

    https://oremacs.com/2015/01/26/occur-dwim/ @@ -7919,43 +7994,71 @@ Usage: emacs -diff file1 file2

    -
    -

    6.4.31 Window Hydra

    +
    +

    6.4.31 Window Hydra

    +

    +brightness wrappers +

    -
    (defhydra hydra-windows (:color blue)
    -  "
    -^Window Management^
    -^^---------------------------
    -_s_: Resize Windiws
    -_f_: Flip Windows
    -_4_: Quarter Windows
    -_u_: Windows Undo
    -_r_: Windows Redo
    -_i_: Invert Colors
    -_b_: Adjust Background Color
    +
    (defun tvd-bg-brighter ()
    +  (interactive)
    +  (doremi-increment-background-color-1 ?v -1))
     
    +(defun tvd-bg-darker ()
    +  (interactive)
    +  (doremi-increment-background-color-1 ?v 1))
    +
    +(defhydra hydra-windows (:color blue)
    +"
    +
    +^Window Management^
    +^^------------------------------------------------------------------------
    +_+_ Increase Font | _-_ Decrease Font      Resize     ^ ^  _w_  ^ ^
    +_f_: Flip Windows    <M-O>            ^^   Current    _a_  ^ ^  _d_
    +_4_: Quarter Windows <C-x 4>          ^^   Window:    ^ ^  _s_  ^ ^
    +_u_: Windows Undo    <C-c left>
    +_r_: Windows Redo    <C-c right>      ^^   _l_: Adjust Background brighter
    +_i_: Invert Colors   <C-c C-i>        ^^   _b_: Adjust Background darker
    +
    +_h_: Toggle Highlight Line Mode
    +_n_: Toogle Line Number Mode
    +
    +^^------------------------------------------------------------------------
    +Reach this hydra with <C-x w>
    +^^------------------------------------------------------------------------
     
     "
    -  ("s" windresize)
    -  ("f" flip-windows)
    -  ("4" tvd-quarter-windows)
    -  ("u" winner-undo)
    -  ("r" winner-redo)
    -  ("i" tvd-invert)
    -  ("b" doremi-bg-brightness+)
    -  ("q" nil :color red))
    +  ("+" tvd-global-font-size-bigger nil :color pink)
    +  ("-" tvd-global-font-size-smaller nil :color pink)
    +  ("f" flip-windows nil)
    +  ("4" tvd-quarter-windows nil)
    +  ("u" winner-undo nil)
    +  ("r" winner-redo nil)
    +  ("i" tvd-invert nil)
    +  ("b" tvd-bg-darker nil :color pink)
    +  ("l" tvd-bg-brighter nil :color pink)
    +  ("a" shrink-window-horizontally nil :color pink)
    +  ("d" enlarge-window-horizontally nil :color pink)
    +  ("w" shrink-window nil :color pink)
    +  ("s" enlarge-window nil :color pink)
    +  ("h" hl-line-mode nil)
    +  ("n" linum-mode nil)
    +  ("q" nil nil :color red))
    +
    +(global-set-key (kbd "C-x w") 'hydra-windows/body)
     
    -
    -

    6.5 Emacs Interface

    + +
    +

    6.5 Emacs Interface

    -
    -

    6.5.1 Parens

    +
    +

    6.5.1 Parens

    display matching braces @@ -7976,8 +8079,8 @@ display matching braces

    -
    -

    6.5.2 highlight todo keywords (such as FIXME)

    +
    +

    6.5.2 highlight todo keywords (such as FIXME)

    Absolutely needed! @@ -7992,8 +8095,8 @@ Absolutely needed!


    -
    -

    6.5.3 UNDO Tree Mode

    +
    +

    6.5.3 UNDO Tree Mode

    Better undo, with redo support. @@ -8036,8 +8139,8 @@ M-_ catched by Xmonad


    -
    -

    6.5.4 Smarter M-x Mode (smex)

    +
    +

    6.5.4 Smarter M-x Mode (smex)

    This is really cool and I don't know how I could ever live without it. @@ -8060,8 +8163,8 @@ fails @win, so wrap it

    -
    -

    6.5.5 Smarter Search

    +
    +

    6.5.5 Smarter Search

    test, replace isearch-forward-regexp first only. @@ -8077,8 +8180,8 @@ dir: ivy/

    -
    -

    6.5.6 Which Func

    +
    +

    6.5.6 Which Func

    display current function - if any - in mode line @@ -8093,8 +8196,8 @@ display current function - if any - in mode line


    -
    -

    6.5.7 Show current-line in the Fringe

    +
    +

    6.5.7 Show current-line in the Fringe

    (require 'fringe-current-line)
    @@ -8113,8 +8216,8 @@ also change the color (matching the mode line
     
    -
    -

    6.5.8 Recent Files

    +
    +

    6.5.8 Recent Files

    You know the file you edited yesterday had "kri" in its name, but @@ -8208,8 +8311,8 @@ exclude some auto generated files

    -
    -

    6.5.9 IDO mode

    +
    +

    6.5.9 IDO mode

    There are other completion enhancement packages available like ivy @@ -8351,8 +8454,8 @@ by howardism: [re]open non-writable file with sudo

    -
    -

    6.5.10 Save cursor position

    +
    +

    6.5.10 Save cursor position

    So the next time I start emacs and open a file I were editing @@ -8373,8 +8476,8 @@ before.

    -
    -

    6.5.11 DoReMi experimentation

    +
    +

    6.5.11 DoReMi experimentation

    I'm not using it a lot, sometimes I tune the background color though. @@ -8403,8 +8506,8 @@ cool ones: doremi-buffers, doremi-all-faces-fg+ [s, h]


    -
    -

    6.5.12 Hightligt TABs

    +
    +

    6.5.12 Hightligt TABs

    not a mode, but however: higlight TABs in certain modes @@ -8427,8 +8530,8 @@ not a mode, but however: higlight TABs in certain modes

    -
    -

    6.5.13 Browse kill-ring

    +
    +

    6.5.13 Browse kill-ring

    when active use n and p to browse, <ret> to select, it's the same @@ -8446,8 +8549,8 @@ as <M-y> and I never really use it…

    -
    -

    6.5.14 goto-last-change

    +
    +

    6.5.14 goto-last-change

    Very handy, jump to last change[s]. @@ -8464,8 +8567,8 @@ Very handy, jump to last change[s].

    -
    -

    6.5.15 Bookmarks

    +
    +

    6.5.15 Bookmarks

    I use the builtin bookmark feature quite a lot and am happy with @@ -8497,8 +8600,8 @@ I use the same aliases as in apparix for bash (since I'm used to them)

    -
    -

    6.5.16 which-key

    +
    +

    6.5.16 which-key

    One of the best unobstrusive modes for key help ever. Just start @@ -8518,8 +8621,8 @@ press from there along with the associated functions.

    -
    -

    6.5.17 iBuffer mode

    +
    +

    6.5.17 iBuffer mode

    iBuffer is a great interactive buffer management tool included with @@ -8729,8 +8832,8 @@ override ibuffer M-o binding

    -
    -

    6.5.18 Printing

    +
    +

    6.5.18 Printing

    overwrites printing default menu, access via menu File => Print @@ -8775,8 +8878,8 @@ via -

    6.5.19 Beacon mode (pointer blink)

    +
    +

    6.5.19 Beacon mode (pointer blink)

    Source: beacon mode @@ -8806,8 +8909,8 @@ editing position.

    -
    -

    6.6 mode-line setup (must be the last mode)

    +
    +

    6.6 mode-line setup (must be the last mode)

    I just append the current version of my emacs config and leave out @@ -8872,13 +8975,13 @@ custom modeline

    -
    -

    7 Emacs Autoconfig / Customizegroup stuff

    +
    +

    7 Emacs Autoconfig / Customizegroup stuff


    -
    -

    7.1 font faces

    +
    +

    7.1 font faces

    Font color config, must always be the last thing so all hook faces are loaded. @@ -8958,8 +9061,8 @@ unless we're on windoze


    -
    -

    7.2 variables

    +
    +

    7.2 variables

    If I ever use custom-group to customize a mode, then I create a @@ -8980,8 +9083,8 @@ here. So, in normal times this should be empty, but needs to exist.

    -
    -

    7.3 done

    +
    +

    7.3 done

    Finally, this message is being displayed. If this isn't the case I @@ -8998,7 +9101,7 @@ know easily that something went wrong.

    Author: Tom

    -

    Created: 2018-10-10 Mi 20:38

    +

    Created: 2018-10-20 Sa 12:28

    Validate