pulled in latest changes

This commit is contained in:
Thomas von Dein
2017-07-11 10:51:23 +02:00
parent f50084bebd
commit 57dda77259
2 changed files with 1007 additions and 689 deletions

209
.emacs
View File

@@ -1,4 +1,4 @@
;; Toms Emacs Config - portable - version (20170707.01) -*-emacs-lisp-*- ;; Toms Emacs Config - portable - version (20170711.01) -*-emacs-lisp-*-
;; * Introduction ;; * Introduction
;; This is my emacs config, it is more than twenty years old. It ;; This is my emacs config, it is more than twenty years old. It
@@ -41,216 +41,290 @@
;; * Config Log, Trivia, Notes, Changes ;; * Config Log, Trivia, Notes, Changes
;; ** Changelog ;; ** Changelog
;; 20160420.03: ;; 20160420.03:
;; - started with Changelog and outshine mode ;; - started with Changelog and outshine mode
;; - fixed tabs ;; - fixed tabs
;; - reorganized keys ;; - reorganized keys
;; - added new goto line func ;; - added new goto line func
;; 20160421.01: ;; 20160421.01:
;; - added smex ;; - added smex
;; - added show-keys() ;; - added show-keys()
;; - added redo ;; - added redo
;; - ssh et. al. interactive in eshell ;; - ssh et. al. interactive in eshell
;; - added recompile() ;; - added recompile()
;; 20160421.02: ;; 20160421.02:
;; - added dividers ;; - added dividers
;; - using org headers ;; - using org headers
;; - better show-keys() ;; - better show-keys()
;; 20160421.03: ;; 20160421.03:
;; - added windows support ;; - added windows support
;; 20160421.04: ;; 20160421.04:
;; - added elisp repl support ;; - added elisp repl support
;; 20160424.01: ;; 20160424.01:
;; - added custom modeline ;; - added custom modeline
;; - added which-func-mode ;; - added which-func-mode
;; - shortened some major mode names ;; - shortened some major mode names
;; - added diminish for shorter minor mode names ;; - added diminish for shorter minor mode names
;; - added better printing menu ;; - added better printing menu
;; 20160425.01: ;; 20160425.01:
;; - fixed ielm integration ;; - fixed ielm integration
;; - C-x e = eval (buffer|region) ;; - C-x e = eval (buffer|region)
;; - C-x C-e = send (buffer|region) to ielm and eval there ;; - C-x C-e = send (buffer|region) to ielm and eval there
;; 20160425.02: ;; 20160425.02:
;; - fix word wrapping ;; - fix word wrapping
;; 20160426.01: ;; 20160426.01:
;; - fixed mode-line config 4 win emacs ;; - fixed mode-line config 4 win emacs
;; - added M-<up|down> move-region ;; - added M-<up|down> move-region
;; 20160426.01: ;; 20160426.01:
;; - added markdown ;; - added markdown
;; 20160427.01+02: ;; 20160427.01+02:
;; - cosmetics ;; - cosmetics
;; 20160428.01: ;; 20160428.01:
;; - fringe cursor ;; - fringe cursor
;; 20160429.01: ;; 20160429.01:
;; - file name completion ;; - file name completion
;; - C-# finally, search for symbol at point ;; - C-# finally, search for symbol at point
;; - C-c C-c now comments or uncomments regios or line, whatever is current ;; - C-c C-c now comments or uncomments regios or line, whatever is current
;; 20160501.01: ;; 20160501.01:
;; - no outshine minor in python ;; - no outshine minor in python
;; - added recent files support ;; - added recent files support
;; 20160501.02: ;; 20160501.02:
;; - added margin() function, no key binding though ;; - added margin() function, no key binding though
;; 20160503.01: ;; 20160503.01:
;; - added C-q fill+justify paragraph macro ;; - added C-q fill+justify paragraph macro
;; - added alias 'i' for info manuals ;; - added alias 'i' for info manuals
;; 20160503.02: ;; 20160503.02:
;; - added 'cp to create read-only buffer copy ;; - added 'cp to create read-only buffer copy
;; 20160504.01: ;; 20160504.01:
;; - better fringe, now also inversed with C-c i ;; - better fringe, now also inversed with C-c i
;; 20160505.01: ;; 20160505.01:
;; - added electric-align mode ;; - added electric-align mode
;; - better outline header colors ;; - better outline header colors
;; - no more line numbers in sk occur buffer ;; - no more line numbers in sk occur buffer
;; 20160507.01: ;; 20160507.01:
;; - disable electric-align-momde (broken), using M-x align instead ;; - disable electric-align-momde (broken), using M-x align instead
;; - hightlighting TABs with extra font ;; - hightlighting TABs with extra font
;; 20160509.01: ;; 20160509.01:
;; - fixed margin() ;; - fixed margin()
;; - discovered that C-x 0 deletes current window, god did I miss this one! ;; - discovered that C-x 0 deletes current window, god did I miss this one!
;; 20160510.01: ;; 20160510.01:
;; - added kill-all-buffers() ;; - added kill-all-buffers()
;; 20160510.02: ;; 20160510.02:
;; - no more load-file ;; - no more load-file
;; - added C-c [wlpa]: easy copy things at point ;; - added C-c [wlpa]: easy copy things at point
;; without marking them ;; without marking them
;; 20160511.01: ;; 20160511.01:
;; - better buffer names with uniquify ;; - better buffer names with uniquify
;; 20160511.02: ;; 20160511.02:
;; - copy-* functions now blink region ;; - copy-* functions now blink region
;; - added del-* functions, bound to C-d: ;; - added del-* functions, bound to C-d:
;; press multiple times to delete word, line, paragraph, buffer ;; press multiple times to delete word, line, paragraph, buffer
;; 20160513.01: ;; 20160513.01:
;; - fixed END key func ;; - fixed END key func
;; 20160516.01: ;; 20160516.01:
;; - removed C-d stuff, replaced with vikiing-mode ;; - removed C-d stuff, replaced with vikiing-mode
;; 20160517.01: ;; 20160517.01:
;; - changed highlight face ;; - changed highlight face
;; - enabled debug-on-error in lispmode ;; - enabled debug-on-error in lispmode
;; - enabled IDO mode globally, I just tend to love love love it ;; - enabled IDO mode globally, I just tend to love love love it
;; 20160517.02: ;; 20160517.02:
;; - added workgroup.el, started experimenting ;; - added workgroup.el, started experimenting
;; - enabled Super_L (for workgroups) ;; - enabled Super_L (for workgroups)
;; 20160519.01: ;; 20160519.01:
;; - fixed write-file, now ido mode is disabled for this one. ;; - fixed write-file, now ido mode is disabled for this one.
;; 20160520.01: ;; 20160520.01:
;; - no x-sel on windows (C-v+C-c => emacs doesn't work anymore otherwise) ;; - no x-sel on windows (C-v+C-c => emacs doesn't work anymore otherwise)
;; - added eldoc mode to elisp hook ;; - added eldoc mode to elisp hook
;; 20160520.02: ;; 20160520.02:
;; - added novel-mode, for better reading ;; - added novel-mode, for better reading
;; 20160522.01: ;; 20160522.01:
;; - added vi's % jump paren emulation ;; - added vi's % jump paren emulation
;; - enhanced novel-mode ;; - enhanced novel-mode
;; - enabled save-place mode which is VERY useful in combination with ;; - enabled save-place mode which is VERY useful in combination with
;; novel-mode ;; novel-mode
;; 20160523.01: ;; 20160523.01:
;; - detached novel-mode into its own module, maintain on github ;; - detached novel-mode into its own module, maintain on github
;; enabled with C-n ;; enabled with C-n
;; 20160526.01: ;; 20160526.01:
;; - added toggle-melpa ;; - added toggle-melpa
;; 20160527.01: ;; 20160527.01:
;; - added htmlize ;; - added htmlize
;; 20160529.01: ;; 20160529.01:
;; - added html-listify ;; - added html-listify
;; 20160530.01: ;; 20160530.01:
;; - added key chords ;; - added key chords
;; - added open-line-above+below ;; - added open-line-above+below
;; 20160602.01: ;; 20160602.01:
;; - C-q now fills and pressing it again un-fills ;; - C-q now fills and pressing it again un-fills
;; 20160606.01: ;; 20160606.01:
;; - deactivated key-chords, I didn't use them and they were annoying. ;; - deactivated key-chords, I didn't use them and they were annoying.
;; 20160609.01: ;; 20160609.01:
;; - added puppet mode ;; - added puppet mode
;; 20160614.01: ;; 20160614.01:
;; - added rotate-text (C-t) ;; - added rotate-text (C-t)
;; - added macro math (C-x-0) (0 used as =) ;; - added macro math (C-x-0) (0 used as =)
;; 20160713.01: ;; 20160713.01:
;; - fixed indent for Makefiles ;; - fixed indent for Makefiles
;; 20160729.01: ;; 20160729.01:
;; - rm duplicate abbr defs ;; - rm duplicate abbr defs
;; 20160916.01: ;; 20160916.01:
;; - enable mouse mark to copy ;; - enable mouse mark to copy
;; 20160926.01: ;; 20160926.01:
;; - Dont kill-buffer, kill-this-buffer instead ;; - Dont kill-buffer, kill-this-buffer instead
;; 20160928.01: ;; 20160928.01:
;; - change macro math C-x 0 to C-x C-0 so that C-0 is ;; - change macro math C-x 0 to C-x C-0 so that C-0 is
;; usable again for close window ;; usable again for close window
;; - elisp mode: debug-on-error only on non-cygwin ;; - elisp mode: debug-on-error only on non-cygwin
;; 20161011.01: ;; 20161011.01:
;; - added dos2unix and unix2dos ;; - added dos2unix and unix2dos
;; 20161014.01: ;; 20161014.01:
;; - fix auto-indent in conf-mode ;; - fix auto-indent in conf-mode
;; - force C-c C-c comment-uncomment in conf-mode ;; - force C-c C-c comment-uncomment in conf-mode
;; 20161018.01: ;; 20161018.01:
;; - more effective conf-mode disarming (own defun) ;; - more effective conf-mode disarming (own defun)
;; 20161022.01: ;; 20161022.01:
;; - better paren mode ;; - better paren mode
;; 20161024.01: ;; 20161024.01:
;; - fixed org mode hook ;; - fixed org mode hook
;; 20161027.01: ;; 20161027.01:
;; - turn off tramp stuff in kill-all-buffers as well, ;; - turn off tramp stuff in kill-all-buffers as well,
;; so that after executing it, no more ssh prompt ;; so that after executing it, no more ssh prompt
;; appears on C-x f. ;; appears on C-x f.
;; 20161106.01: ;; 20161106.01:
;; - added iedit mode with C-c e ;; - added iedit mode with C-c e
;; - added file-open support to eshell (aliases: vi + emacs) ;; - added file-open support to eshell (aliases: vi + emacs)
;; - much better C-l behavior in eshell (eshell/clear) ;; - much better C-l behavior in eshell (eshell/clear)
;; 20161205.01: ;; 20161205.01:
;; - added SLIME, sbcl and paredit support, only loaded when exists ;; - added SLIME, sbcl and paredit support, only loaded when exists
;; 20161206.01: ;; 20161206.01:
;; - elisp mode: debug-on-error finally completeley disabled ;; - elisp mode: debug-on-error finally completeley disabled
;; - added alias 'table, which enables org-mode table support everywhere ;; - added alias 'table, which enables org-mode table support everywhere
;; 20170205.01: ;; 20170205.01:
;; - started with ETAGS support ;; - started with ETAGS support
;; 20170212.01: ;; 20170212.01:
;; - added copy-defun (C-c f) to copy whole functions as is ;; - added copy-defun (C-c f) to copy whole functions as is
;; 20170212.02: ;; 20170212.02:
;; - now using € (alt-r + e) as jump to etag ;; - now using € (alt-r + e) as jump to etag
;; 20170215.02: ;; 20170215.02:
;; - added goto-last-change (C-b) ;; - added goto-last-change (C-b)
;; - +test section ;; - +test section
;; - paredit ;; - paredit
;; 20170215.02: ;; 20170215.02:
;; - disabled workgoups mode, don't use it, doesn't load correctly ;; - disabled workgoups mode, don't use it, doesn't load correctly
;; - fixed windows switch, no more printing popup on startup ;; - fixed windows switch, no more printing popup on startup
;; 20170220.01: ;; 20170220.01:
;; - finally disabled aggressive-indent, it annoys more than it helps ;; - finally disabled aggressive-indent, it annoys more than it helps
;; - added some bookmark aliases (bm, to, bl, like apparix) ;; - added some bookmark aliases (bm, to, bl, like apparix)
;; - added C-c y [..] copy+yank functions so that I can copy and paste ;; - added C-c y [..] copy+yank functions so that I can copy and paste
;; stuff very fast with one key commbo, like yy in vi. ;; stuff very fast with one key commbo, like yy in vi.
;; - added copy-parens, copy-quote, copy-help (help message) ;; - added copy-parens, copy-quote, copy-help (help message)
;; 20170220.02: ;; 20170220.02:
;; - fixed C-c y y: indent correctly ;; - fixed C-c y y: indent correctly
;; 20170220.03: ;; 20170220.03:
;; - fixed C-y+mouse-2: both use primary selection ;; - fixed C-y+mouse-2: both use primary selection
;; 20170221.01: ;; 20170221.01:
;; - added which-key ;; - added which-key
;; 20170223.01: ;; 20170223.01:
;; - org-mode enhancements, C-n capture from everywhere ;; - org-mode enhancements, C-n capture from everywhere
;; - fixed org-mode todo keywords ;; - fixed org-mode todo keywords
;; - fixed duplicate yank on win32 on mouse2 ;; - fixed duplicate yank on win32 on mouse2
;; 20170223.01: ;; 20170223.01:
;; - forgot to mv novel-mode to C-c C-n ;; - forgot to mv novel-mode to C-c C-n
;; - better org heading faces ;; - better org heading faces
;; 20170224.01: ;; 20170224.01:
;; - finally fixed C-t, now works everywhere ;; - finally fixed C-t, now works everywhere
;; - added more org short commands ;; - added more org short commands
;; 20170224.02: ;; 20170224.02:
;; - fixed org-mode M-return ;; - fixed org-mode M-return
;; - added support for windmove (WINDOWS-Key+Arrow: switch window) ;; - added support for windmove (WINDOWS-Key+Arrow: switch window)
;; 20170224.03: ;; 20170224.03:
;; - better org colours ;; - better org colours
;; 20170224.03: ;; 20170224.03:
;; - better org capture tpl (DRAFT) ;; - better org capture tpl (DRAFT)
;; - capturing works now globally, even if no org file is open ;; - capturing works now globally, even if no org file is open
;; - using org-indent 4 ;; - using org-indent 4
;; 20170224.05: ;; 20170224.05:
;; - fixed org tpls ;; - fixed org tpls
;; 20170227.01: ;; 20170227.01:
;; - fix cut/paste org subtress ;; - fix cut/paste org subtress
;; - M-o now switch buffer if 1 window, else switch window ;; - M-o now switch buffer if 1 window, else switch window
;; 20170227.02: ;; 20170227.02:
;; - added alias 'dp which displays everything ;; - added alias 'dp which displays everything
;; there is to know about point (like current face, mode, etc) ;; there is to know about point (like current face, mode, etc)
;; 20170228.01: ;; 20170228.01:
;; - org-refile now works recursivly with completion ;; - org-refile now works recursivly with completion
;; - org-refile also now uses ido-mode and completes in minibuffer ;; - org-refile also now uses ido-mode and completes in minibuffer
@@ -261,17 +335,21 @@
;; - hide emphasized markers in org mode ;; - hide emphasized markers in org mode
;; - renamed 'recompile to 'recompile-el and fixed it ;; - renamed 'recompile to 'recompile-el and fixed it
;; - added 'info-find-file ;; - added 'info-find-file
;; 20170301.01: ;; 20170301.01:
;; - added 'tvd-org-left-or-level-up bound to <C-left> in org mode ;; - added 'tvd-org-left-or-level-up bound to <C-left> in org mode
;; - <C-up|down> in org mode now jump up on current level and ;; - <C-up|down> in org mode now jump up on current level and
;; fold current one and unfolds the target heading ;; fold current one and unfolds the target heading
;; - enabled org-bullets ;; - enabled org-bullets
;; - customized height of org-level faces ;; - customized height of org-level faces
;; 20170301.02: ;; 20170301.02:
;; - org mode emphasize shortcuts (C-c b...) expand region if ;; - org mode emphasize shortcuts (C-c b...) expand region if
;; theres no region active. ;; theres no region active.
;; 20170301.03: ;; 20170301.03:
;; - dis line num in org (faster) ;; - dis line num in org (faster)
;; 20170303.01: ;; 20170303.01:
;; - elmacro support added, incl fix for org and outshine, ;; - elmacro support added, incl fix for org and outshine,
;; F6 starts (or stops) a macro and displays the generated ;; F6 starts (or stops) a macro and displays the generated
@@ -279,6 +357,7 @@
;; <ret> repeats, a repeats til EOF, q aborts, e enter macro ;; <ret> repeats, a repeats til EOF, q aborts, e enter macro
;; (with completion) ;; (with completion)
;; - C-x C-s on * elmacro ... * buffer stores it to tvd-macro-file ;; - C-x C-s on * elmacro ... * buffer stores it to tvd-macro-file
;; 20170305.01: ;; 20170305.01:
;; - added elmacro defadvice, run after done with macro, it will ;; - added elmacro defadvice, run after done with macro, it will
;; be evaluated and saved along with a repeater defun. ;; be evaluated and saved along with a repeater defun.
@@ -289,66 +368,85 @@
;; - added flip-window (bound to M-O (ALT-shift-o) ;; - added flip-window (bound to M-O (ALT-shift-o)
;; - added cleanup-buffer (alias cb) ;; - added cleanup-buffer (alias cb)
;; - fixed C-<ret> and C-S-<ret> ;; - fixed C-<ret> and C-S-<ret>
;; 20170306.01: ;; 20170306.01:
;; - re-enabled linenum mode ;; - re-enabled linenum mode
;; - fixed custom modeline ;; - fixed custom modeline
;; 20170306.01: ;; 20170306.01:
;; - which-func not in elisp anymore ;; - which-func not in elisp anymore
;; - added alias 'ee for 'eval-expression ;; - added alias 'ee for 'eval-expression
;; - added 'sa (show-aliases) ;; - added 'sa (show-aliases)
;; - some occur enhancements for 'sk and 'sa. ;; - some occur enhancements for 'sk and 'sa.
;; - note: inside *Occur*: q:quit, g:reload, e:edit (buffer must be open) ;; - note: inside *Occur*: q:quit, g:reload, e:edit (buffer must be open)
;; 20170307.01: ;; 20170307.01:
;; - fixed 'sk and 'sa ;; - fixed 'sk and 'sa
;; - added key bindings to mark things. M-a is the prefix, followed by: ;; - added key bindings to mark things. M-a is the prefix, followed by:
;; a - all, p - paragraph, f - function, l - line, w - word. ;; a - all, p - paragraph, f - function, l - line, w - word.
;; - disabled M-O (flip-windows) on console emacs ;; - disabled M-O (flip-windows) on console emacs
;; 20170309.01: ;; 20170309.01:
;; - added C-c s,u,e and M-a s,u,e ;; - added C-c s,u,e and M-a s,u,e
;; 20170309.02: ;; 20170309.02:
;; - re-enabled paredit, its better in ielm and slime ;; - re-enabled paredit, its better in ielm and slime
;; - added alias 'pe to quickly enable/disable par-edit ;; - added alias 'pe to quickly enable/disable par-edit
;; - added virtual eShell dev /dev/log which stores stuff in *LOG* ;; - added virtual eShell dev /dev/log which stores stuff in *LOG*
;; 20170313.01: ;; 20170313.01:
;; - iedit to C-c C-e, so C-c e works again (copy email) ;; - iedit to C-c C-e, so C-c e works again (copy email)
;; - put eshell aliases into .emacs(here) no need for aliases file anymore ;; - put eshell aliases into .emacs(here) no need for aliases file anymore
;; - added copy-comment (C-c c), copy-and-yank-comment (C-c y c) and ;; - added copy-comment (C-c c), copy-and-yank-comment (C-c y c) and
;; m-mark-comment (M-a c) ;; m-mark-comment (M-a c)
;; 20170314.01: ;; 20170314.01:
;; - enhanced copy-comment (that is, rewrote it), it now supports ;; - enhanced copy-comment (that is, rewrote it), it now supports
;; indented multiline comments ;; indented multiline comments
;; 20170315.01: ;; 20170315.01:
;; - fixed C-c y [cpwf] ;; - fixed C-c y [cpwf]
;; - fixed copy[+yank+mark] word, it now includes - _ . ;; - fixed copy[+yank+mark] word, it now includes - _ .
;; - added copy-ip (C-c i), yank-ip (C-c y i) and mark-ip (M-a i) ;; - added copy-ip (C-c i), yank-ip (C-c y i) and mark-ip (M-a i)
;; - copy-url alternatively copies file-path if it's no url at point ;; - copy-url alternatively copies file-path if it's no url at point
;; - added numerical arg support to yy ;; - added numerical arg support to yy
;; 20170321.01: ;; 20170321.01:
;; - rewrote copy-comment stuff, now supports blocks of comment ;; - rewrote copy-comment stuff, now supports blocks of comment
;; after code etc. ;; after code etc.
;; 20170323.01: ;; 20170323.01:
;; - moved the mark,copy,yank stuff into its own mode ;; - moved the mark,copy,yank stuff into its own mode
;; 20170327.01: ;; 20170327.01:
;; - added defadvice for mcyt mode, so that I can use C-v to ;; - added defadvice for mcyt mode, so that I can use C-v to
;; always yank the last thing copied. ;; always yank the last thing copied.
;; 20170502.01: ;; 20170502.01:
;; - added config for ibuffer ;; - added config for ibuffer
;; 20170503.01: ;; 20170503.01:
;; - added ibuffer-vc support ;; - added ibuffer-vc support
;; 20170503.02: ;; 20170503.02:
;; - added ibuffer-tramp support ;; - added ibuffer-tramp support
;; - disabled ibuffer tab-collaps stuff ;; - disabled ibuffer tab-collaps stuff
;; 20170505.01: ;; 20170505.01:
;; - generalized init-dir+file variables, now more portable, i hope ;; - generalized init-dir+file variables, now more portable, i hope
;; 20170508.01: ;; 20170508.01:
;; - backup tramp files remote ;; - backup tramp files remote
;; - do not backup emacs state files ;; - do not backup emacs state files
;; 20170509.01: ;; 20170509.01:
;; - version fix ;; - version fix
;; 20170523.01: ;; 20170523.01:
;; - commented ssh backup stuff, not working yet, destroys tramp ;; - commented ssh backup stuff, not working yet, destroys tramp
;; - added inferior shells for perl, ruby and python (iperl, iruby, ipython) ;; - added inferior shells for perl, ruby and python (iperl, iruby, ipython)
;; with ansi-term ;; with ansi-term
;; 20170610.01: ;; 20170610.01:
;; - org mode: added C-c C-# to edit src blocks in an extra window ;; - org mode: added C-c C-# to edit src blocks in an extra window
;; - org mode: <ret> opens link in eww ;; - org mode: <ret> opens link in eww
@@ -392,6 +490,7 @@
;; - fixed outshine config ;; - fixed outshine config
;; - added (my) config-general-mode ;; - added (my) config-general-mode
;; - fixed pod format inserters ;; - fixed pod format inserters
;; 20170629.01: ;; 20170629.01:
;; - added tablist-minor-mode (+config) ;; - added tablist-minor-mode (+config)
;; - added config for tabulated-list-mode ;; - added config for tabulated-list-mode
@@ -405,19 +504,27 @@
;; - added 'change-inner and ci simulators' ;; - added 'change-inner and ci simulators'
;; - added suggest.el with my own reload function ;; - added suggest.el with my own reload function
;; - modified recentf: do not provide files already visited ;; - modified recentf: do not provide files already visited
;; 20170703.01: ;; 20170703.01:
;; - fixed recentf-exclude list, now REALLY ignores unreadables ;; - fixed recentf-exclude list, now REALLY ignores unreadables
;; - added export for easier export and commit of dot-emacs ;; - added export for easier export and commit of dot-emacs
;; - added tvd-suggest-jump to jump between input and output ;; - added tvd-suggest-jump to jump between input and output
;; 20170707.01: ;; 20170707.01:
;; - added C-x 4 to split fram into 4 windows ;; - added C-x 4 to split fram into 4 windows
;; - fixed config-general-mode config ;; - fixed config-general-mode config
;; - fixed 'emacs-change-log (didn't expand trees before work) ;; - fixed 'emacs-change-log (didn't expand trees before work)
;; - fix python loading
;; 20170711.01:
;; - fixed outshine: only loaded with elisp
;; - fixed tvd-outshine-jump: use imenu if outside outshine
;; - fixed kill-all-buffers: restore scratch after killing all buffers
;; - do not ask to save abbrevs on exit anymore
;; - reformat changelog
;; ** TODO ;; ** TODO
;; - fix C-c C-j to work in non-elisp buffers too, see FIXMEs there
;; and make it recursive like a path or the like
;; - check helpful https://github.com/wilfred/helpful ;; - check helpful https://github.com/wilfred/helpful
;; - check no-littering https://github.com/tarsius/no-littering ;; - check no-littering https://github.com/tarsius/no-littering
;; - submit novel + mark-copy-yank-things-mode to MELPA ;; - submit novel + mark-copy-yank-things-mode to MELPA
@@ -425,13 +532,24 @@
;; - check https://github.com/Wilfred/refine ;; - check https://github.com/Wilfred/refine
;; https://github.com/Wilfred/emacs-refactor ;; https://github.com/Wilfred/emacs-refactor
;; ** Parking Lot / Snippets
;; Snippets which maybe of use in the future
;; *** buffer-local hook
;; (with-current-buffer (get-buffer "*scratch*")
;; (add-hook 'kill-buffer-hook
;; (lambda () (error "DENIED! don't kill my precious *scratch*!!"))
;; nil t))
;; -------------------------------------------------------------------------------- ;; --------------------------------------------------------------------------------
;; ** .emacs config version ;; ** .emacs config version
;; My emacs config has a version (consisting of a timestamp with a ;; 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 ;; serial), which I display in the mode line. So I can clearly see, if
;; I'm using an outdated config somewhere. ;; I'm using an outdated config somewhere.
(defvar tvd-emacs-version "20170707.01") (defvar tvd-emacs-version "20170711.01")
;; -------------------------------------------------------------------------------- ;; --------------------------------------------------------------------------------
@@ -849,6 +967,9 @@ to next buffer otherwise."
("<ul>" "<ul> </ul>" nil 0) ("<ul>" "<ul> </ul>" nil 0)
)) ))
;; do NOT ask to save abbrevs on exit
(setq save-abbrevs nil)
;; ** meaningful names for buffers with the same name ;; ** meaningful names for buffers with the same name
;; from ([[https://github.com/bbatsov/prelude][prelude]]) ;; from ([[https://github.com/bbatsov/prelude][prelude]])
@@ -885,7 +1006,8 @@ to next buffer otherwise."
;; ** More scratch space ;; ** More scratch space
;; Sometimes I need a text mode scratch buffer while scratch is ;; Sometimes I need a text mode scratch buffer while scratch is
;; already in use. So let's prepare one ;; already in use. So let's prepare one. I also add a buffer hook so that
;; this never gets deleted, but cleaned instead.
(with-current-buffer (get-buffer-create "*text*") (with-current-buffer (get-buffer-create "*text*")
(text-mode)) (text-mode))
@@ -1343,15 +1465,18 @@ Version 2015-04-09"
(defun kill-all-buffers () (defun kill-all-buffers ()
"Kill all buffers, clean up, close all windows" "Kill all buffers, clean up, close all windows"
(interactive) (interactive)
(if (y-or-n-p "Close all windows and kill all buffers?") (when (y-or-n-p "Close all windows and kill all buffers?")
(progn
(delete-other-windows) (delete-other-windows)
(clean-buffer-list) (clean-buffer-list)
(dolist (buffer (buffer-list)) (dolist (buffer (buffer-list))
(kill-buffer buffer)) (kill-buffer buffer))
(delete-minibuffer-contents) (delete-minibuffer-contents)
(if (fboundp 'tramp-cleanup-all-connections) (if (fboundp 'tramp-cleanup-all-connections)
(tramp-cleanup-all-connections))))) (tramp-cleanup-all-connections))
(with-current-buffer (get-buffer-create "*text*")
(text-mode))
(with-current-buffer (get-buffer-create "*scratch*")
(emacs-lisp-mode))))
;; -------------------------------------------------------------------------------- ;; --------------------------------------------------------------------------------
;; ** Cleanup current buffer ;; ** Cleanup current buffer
@@ -1548,7 +1673,7 @@ col1, col2"
;; *** python mode ;; *** python mode
;; Not much configured for python, I'm happy with the defaults as it seems :) ;; Not much configured for python, I'm happy with the defaults as it seems :)
(require 'python)
(autoload 'python-mode "python-mode" "Major mode for python scripts" t) (autoload 'python-mode "python-mode" "Major mode for python scripts" t)
(add-hook (add-hook
@@ -1927,29 +2052,38 @@ col1, col2"
;; pod mode config ;; pod mode config
(add-hook 'pod-mode-hook (add-hook 'pod-mode-hook
(lambda () (lambda ()
;; tune syntax table
(modify-syntax-entry ?= "w" pod-mode-syntax-table)
;; POD contains headers and I'm used to outlining if there are headers ;; POD contains headers and I'm used to outlining if there are headers
;; so, enable outlining ;; so, enable outlining
(setq outline-heading-alist '(("=head1" . 1) (setq outline-heading-alist '(("=head1" . 1)
("=head2" . 2) ("=head2" . 2)
("=head3" . 3) ("=head3" . 3)
("=head4" . 4))) ("=head4" . 4)))
;; outline alone, however, works well
(outline-minor-mode) (outline-minor-mode)
;; my own abbrevs for POD using mode-specific abbrev table ;; my own abbrevs for POD using mode-specific abbrev table
(c-define-abbrev-table 'pod-mode-abbrev-table '( (c-define-abbrev-table 'pod-mode-abbrev-table '(
("ov" "=over\n\n=item\n\n=back\n") ("=o" "=over\n\n=item\n\n=back\n\n")
("h1" "=head1 ") ("=i" "=item ")
("h2" "=head2 ") ("=h1" "=head1 ")
("h3" "=head3 ") ("=h2" "=head2 ")
("h4" "=head4 ") ("=h3" "=head3 ")
("=h4" "=head4 ")
("=c" "=cut")
("=b" "=begin")
("=e" "=end")
("b" "B<>") ("b" "B<>")
("c" "C<>") ("c" "C<>")
("l" "L<>") ("l" "L<>")
("i" "I<>") ("i" "I<>")
("e" "E<>") ("e" "E<>")
("f" "F<>")) ("f" "F<>"))
"POD mode abbreviations, see .emacs" "POD mode abbreviations, see .emacs")
)
(abbrev-table-put pod-mode-abbrev-table :case-fixed t) (abbrev-table-put pod-mode-abbrev-table :case-fixed t)
(abbrev-table-put pod-mode-abbrev-table :system t) (abbrev-table-put pod-mode-abbrev-table :system t)
@@ -1960,10 +2094,7 @@ col1, col2"
;; POD easy formatting ;; POD easy formatting
(local-set-key (kbd "C-c b") 'pod-bold) (local-set-key (kbd "C-c b") 'pod-bold)
(local-set-key (kbd "C-c /") 'pod-italic) (local-set-key (kbd "C-c /") 'pod-italic)
(local-set-key (kbd "C-c c") 'pod-code) (local-set-key (kbd "C-c c") 'pod-code)))
))
;; -------------------------------------------------------------------------------- ;; --------------------------------------------------------------------------------
;; *** conf-mode ;; *** conf-mode
@@ -2010,6 +2141,20 @@ col1, col2"
;; -------------------------------------------------------------------------------- ;; --------------------------------------------------------------------------------
;; *** Xmodmap Mode
;; the shortest mode ever, [https://www.emacswiki.org/emacs/XModMapMode][via emacswiki]].
(define-generic-mode 'xmodmap-mode
'(?!)
'("add" "clear" "keycode" "keysym" "pointer" "remove")
'(("[0-9]+" . 'font-lock-variable-name-face))
'("[xX]modmap\\(rc\\)?\\'")
nil
"Simple mode for xmodmap files.")
;; [https://www.emacswiki.org/emacs/GenericMode][see GenericMode for more examples]].
;; ** Text Manupilation ;; ** Text Manupilation
;; *** expand-region ;; *** expand-region
@@ -2592,7 +2737,12 @@ a list symbol describing the command."
(setq mode-name "EL" (setq mode-name "EL"
show-trailing-whitespace t) show-trailing-whitespace t)
(eldoc-mode t) (eldoc-mode t)
))
;; enable outline (with outshine)
(outline-minor-mode)
;; enable outshine mode
(outshine-hook-function)))
;; use UP arrow for history in *ielm* as well, just as C-up ;; use UP arrow for history in *ielm* as well, just as C-up
(add-hook 'comint-mode-hook (add-hook 'comint-mode-hook
@@ -3187,13 +3337,6 @@ specify another regex for cell splitting."
(require 'outshine) (require 'outshine)
;; enable when outline
(add-hook 'outline-minor-mode-hook 'outshine-hook-function)
;; use it for .emacs:
(add-hook 'emacs-lisp-mode-hook '(lambda ()
(outline-minor-mode)))
;; Generate an alist of all headings with each position in buffer and ;; Generate an alist of all headings with each position in buffer and
;; use this later to jump to those positions with IDO. ;; use this later to jump to those positions with IDO.
(make-variable-buffer-local 'tvd-headings) (make-variable-buffer-local 'tvd-headings)
@@ -3246,16 +3389,20 @@ specify another regex for cell splitting."
update heading list if neccessary." update heading list if neccessary."
(interactive) (interactive)
(let ((heading nil)) (let ((heading nil))
(if (string= "" outshine-normalized-outline-regexp-base)
(call-interactively 'imenu) ;; use imenu outside outshine
(when (or (not tvd-headings) (when (or (not tvd-headings)
(buffer-modified-p)) (buffer-modified-p))
(tvd-outshine-parse-headings)) (tvd-outshine-parse-headings))
(if (not tvd-headings) (if (not tvd-headings)
(message "Current buffer doesn't contain any outshine headings!") (message "Could not parse headings")
(setq heading (ido-completing-read "Jump to heading: " (tvd-alist-keys tvd-headings))) (setq heading (ido-completing-read
"Jump to heading: "
(tvd-alist-keys tvd-headings)))
(when heading (when heading
(show-all) (show-all)
(goto-char (cdr (assoc heading tvd-headings))) (goto-char (cdr (assoc heading tvd-headings)))
(tvd-outshine-sparse-tree))))) (tvd-outshine-sparse-tree))))))
;; outshine mode config (inside outline mode) ;; outshine mode config (inside outline mode)
(eval-after-load "outline" (eval-after-load "outline"

1435
emacs.html

File diff suppressed because it is too large Load Diff