From fcd1a22224b68087f6c470a0024fadb93e739fb7 Mon Sep 17 00:00:00 2001 From: Thomas von Dein Date: Thu, 29 Jun 2017 17:31:55 +0200 Subject: [PATCH] reorg --- .emacs | 167 +++++---- emacs.html | 1047 +++++++++++++++++++++++++++------------------------- 2 files changed, 624 insertions(+), 590 deletions(-) diff --git a/.emacs b/.emacs index 594f3f2..19950ee 100644 --- a/.emacs +++ b/.emacs @@ -1944,19 +1944,30 @@ col1, col2" ;; while we're at it, disable electric indent, it's annoying in ;; configs. Applies for derivates as well. -(defun disarm-conf-mode() +(defun tvd-disarm-conf-mode() (local-set-key (kbd "C-c C-c") 'comment-or-uncomment-region-or-line) (electric-indent-local-mode 0)) -(add-something-to-mode-hooks '(conf cisco fundamental conf-space pod) 'disarm-conf-mode) +(add-something-to-mode-hooks '(conf cisco fundamental conf-space pod) 'tvd-disarm-conf-mode) ;; -------------------------------------------------------------------------------- ;; *** Config::General mode -;; My own mode for Config::General files +;; [[https://github.com/TLINDEN/config-general-mode][config-general-mode]] (also on Melpa). + +;; My own mode for [[http://search.cpan.org/dist/Config-General/][Config::General]] +;; config files. Whenever I write some perl stuff, which needs a config file, I use +;; this module (and I do this a lot). Previously I used conf-mode or html-mode, but +;; both did not satisfy me. Now (as of 20170625) I solved this mess once and for all. (require 'config-general-mode) + +;; the mode enables electric indent automatically, but I disabled it +;; for conf-mode (see tvd-disarm-conf-mode), therefore I re-enable it here +;; for config-general-mode (which inherits from conf-mode). (add-hook 'config-general-mode-hook 'electric-indent-mode) + +;; empty for now (add-hook 'config-general-mode-hook '(lambda () t)) @@ -1972,6 +1983,81 @@ col1, col2" (global-set-key (kbd "C-0") 'er/expand-region) ; C-= without pressing shift on DE keyboard ;; related to ER: +;; *** Mark, Copy, Yank Things + +;; For a long time this stuff was located here in my emacs config. As +;; it grew larger and larger I decided to put it into its own mode: +;; mark-copy-yank-things-mode, which can be found on github these +;; days. + +;; With this, you can quickly mark or copy or copy+yank things like +;; words, ip's, url's, lines or defun's with one key binding. I use +;; this permanently and couldn't live without it anymore. + +;; A special feature is the copy+yanking, this is something vi offers: +;; go to a line, press yy, then p and the current line will be yanked +;; below. Prefix with a number and copy+yank more lines. This is +;; really cool and (in vi) often used. So, with this mode, I can use +;; it with emacs as well. For example, say you edit a configuration +;; file and added a complicated statement. Next you need to add +;; another very similar statement. Instead of entering it again, you +;; just hit and the current line appears as a copy +;; below. Change the differences and you're done! + +(require 'mark-copy-yank-things-mode) +(mark-copy-yank-things-global-mode) + +;; The mode has a rather impractical prefix since it's published on +;; github and therefore must be written in a way not to disturb other +;; modes. However, I myself need those simple prefixes: +(define-key mark-copy-yank-things-mode-map (kbd "C-c") 'mcyt-copy-map) +(define-key mark-copy-yank-things-mode-map (kbd "M-a") 'mcyt-mark-map) +;; I use the default yank map + +;; With this I put the last thing copied into a register 'c. I can +;; then later yank this using C-v anytime without browsing the +;; kill-ring if I kill things between yanking. So, C-v always inserts +;; the last copied thing, while C-y yanks the last thing killed, which +;; might be something else. +(advice-add 'mcyt--copy-thing + :after + '(lambda (&rest args) + (with-temp-buffer + (yank) + (copy-to-register 'c (point-min) (point-max))))) + +(defun tvd-insert-c-register () + (interactive) + (insert-register 'c)) + +(global-set-key (kbd "C-v") 'tvd-insert-c-register) + +;; copy a real number and convert it to german punctuation upon +;; yanking, so I can do some calculations in 'calculator, copy the +;; result NNN.NN and paste it into my online banking formular, where +;; it appears as NNN,NN. +(defun tvd-mcyt-copy-euro (&optional arg) + "Copy euro at point into kill-ring and convert to german +punctuation" + (interactive "P") + (mcyt--blink-and-copy-thing 'mcyt-beginning-of-ip 'mcyt-end-of-ip arg) + (with-temp-buffer + (yank) + (beginning-of-buffer) + (while (re-search-forward "\\." nil t) + (replace-match ",")) + (kill-region (point-min) (point-max)))) + +(eval-after-load "mark-copy-yank-things-mode" + '(progn + (add-hook 'mark-copy-yank-things-mode-hook + (lambda () ;; g like [G]eld + (define-key mcyt-copy-map (kbd "g") 'tvd-mcyt-copy-euro))))) + + + +;; -------------------------------------------------------------------------------- + ;; *** change-inner ;; I use change-inner with a prefix key and some wrappers around @@ -3991,81 +4077,6 @@ defun." (which-key-mode) (which-key-setup-side-window-right) -;; -------------------------------------------------------------------------------- - -;; *** Mark, Copy, Yank Things - -;; For a long time this stuff was located here in my emacs config. As -;; it grew larger and larger I decided to put it into its own mode: -;; mark-copy-yank-things-mode, which can be found on github these -;; days. - -;; With this, you can quickly mark or copy or copy+yank things like -;; words, ip's, url's, lines or defun's with one key binding. I use -;; this permanently and couldn't live without it anymore. - -;; A special feature is the copy+yanking, this is something vi offers: -;; go to a line, press yy, then p and the current line will be yanked -;; below. Prefix with a number and copy+yank more lines. This is -;; really cool and (in vi) often used. So, with this mode, I can use -;; it with emacs as well. For example, say you edit a configuration -;; file and added a complicated statement. Next you need to add -;; another very similar statement. Instead of entering it again, you -;; just hit and the current line appears as a copy -;; below. Change the differences and you're done! - -(require 'mark-copy-yank-things-mode) -(mark-copy-yank-things-global-mode) - -;; The mode has a rather impractical prefix since it's published on -;; github and therefore must be written in a way not to disturb other -;; modes. However, I myself need those simple prefixes: -(define-key mark-copy-yank-things-mode-map (kbd "C-c") 'mcyt-copy-map) -(define-key mark-copy-yank-things-mode-map (kbd "M-a") 'mcyt-mark-map) -;; I use the default yank map - -;; With this I put the last thing copied into a register 'c. I can -;; then later yank this using C-v anytime without browsing the -;; kill-ring if I kill things between yanking. So, C-v always inserts -;; the last copied thing, while C-y yanks the last thing killed, which -;; might be something else. -(advice-add 'mcyt--copy-thing - :after - '(lambda (&rest args) - (with-temp-buffer - (yank) - (copy-to-register 'c (point-min) (point-max))))) - -(defun tvd-insert-c-register () - (interactive) - (insert-register 'c)) - -(global-set-key (kbd "C-v") 'tvd-insert-c-register) - -;; copy a real number and convert it to german punctuation upon -;; yanking, so I can do some calculations in 'calculator, copy the -;; result NNN.NN and paste it into my online banking formular, where -;; it appears as NNN,NN. -(defun tvd-mcyt-copy-euro (&optional arg) - "Copy euro at point into kill-ring and convert to german -punctuation" - (interactive "P") - (mcyt--blink-and-copy-thing 'mcyt-beginning-of-ip 'mcyt-end-of-ip arg) - (with-temp-buffer - (yank) - (beginning-of-buffer) - (while (re-search-forward "\\." nil t) - (replace-match ",")) - (kill-region (point-min) (point-max)))) - -(eval-after-load "mark-copy-yank-things-mode" - '(progn - (add-hook 'mark-copy-yank-things-mode-hook - (lambda () ;; g like [G]eld - (define-key mcyt-copy-map (kbd "g") 'tvd-mcyt-copy-euro))))) - - - ;; -------------------------------------------------------------------------------- ;; *** iBuffer mode diff --git a/emacs.html b/emacs.html index 190e788..c0ced78 100644 --- a/emacs.html +++ b/emacs.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -232,172 +232,172 @@ for the JavaScript code in this tag.

Table of Contents

@@ -406,8 +406,8 @@ for the JavaScript code in this tag.

Toms Emacs Config - portable - version (20170628.01) -*-emacs-lisp-*-

-
-

1 Introduction

+
+

1 Introduction

This is my emacs config, it is more than twenty years old. It @@ -461,11 +461,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: @@ -1225,8 +1225,8 @@ or inserts a % if not on a paren. Better than C-5, haha.

-
-

2.2 TODO

+
+

2.2 TODO

-
-

2.3 .emacs config version

+
+

2.3 .emacs config version

My emacs config has a version (consisting of a timestamp with a @@ -1258,11 +1258,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

  • Info mode: C-left+C-right history keys
  • @@ -1301,8 +1301,8 @@ all modes and extensions are located here
-
-

3.2 Fontlock-mode - use syntax highlighting on graphical displays

+
+

3.2 Fontlock-mode - use syntax highlighting on graphical displays

look: emacswiki @@ -1319,8 +1319,8 @@ look: emacswiki


-
-

3.3 line-cursor in console

+
+

3.3 line-cursor in console

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


-
-

3.4 Backup Config

+
+

3.4 Backup Config

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


-
-

3.5 console backspace fix

+
+

3.5 console backspace fix

make backspace work in console sessions @@ -1422,8 +1422,8 @@ make backspace work in console sessions


-
-

3.6 hide menu- and tool-bar

+
+

3.6 hide menu- and tool-bar

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


-
-

3.7 stay silent on startup

+
+

3.7 stay silent on startup

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

3.8 y means yes

+
+

3.8 y means yes

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


-
-

3.9 show col in modeline

+
+

3.9 show col in modeline

very useful to know current column @@ -1481,8 +1481,8 @@ very useful to know current column


-
-

3.10 file or buffer in title

+
+

3.10 file or buffer in title

this can be seen in xmobar @@ -1496,8 +1496,8 @@ this can be seen in xmobar


-
-

3.11 avoid invalid files

+
+

3.11 avoid invalid files

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

3.12 prepare load-path

+
+

3.12 prepare load-path

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


-
-

3.13 byte-compile all of them, if needed

+
+

3.13 byte-compile all of them, if needed

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


-
-

3.14 increase fontsize with ctrl-+ and ctrl--

+
+

3.14 increase fontsize with ctrl-+ and ctrl--

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


-
-

3.15 WINDOW management stuff

+
+

3.15 WINDOW management stuff

-
-

3.15.1 resize windows by keyboard

+
+

3.15.1 resize windows by keyboard

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

-
-

3.15.2 switch windows with MS-WINDOWS key

+
+

3.15.2 switch windows with MS-WINDOWS key

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

3.15.3 M-o switch window or buffer

+
+

3.15.3 M-o switch window or buffer

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

-
-

3.16 re-read a modified buffer

+
+

3.16 re-read a modified buffer

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


-
-

3.17 global TAB/Indent config

+
+

3.17 global TAB/Indent config

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


-
-

3.18 handy aliases

+
+

3.18 handy aliases

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


-
-

3.19 various settings

+
+

3.19 various settings

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


-
-

3.20 load imenu

+
+

3.20 load imenu

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

3.21 copy/paste Config

+
+

3.21 copy/paste Config

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


-
-

3.22 use more mem

+
+

3.22 use more mem

are you from the past? @@ -1939,8 +1939,8 @@ are you from the past?


-
-

3.23 better file name completion

+
+

3.23 better file name completion

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

3.24 abbreviations

+
+

3.24 abbreviations

Do I really need those anymore? Added ca 1999… @@ -1993,8 +1993,8 @@ Do I really need those anymore? Added ca 1999…

-
-

3.25 meaningful names for buffers with the same name

+
-
-

3.26 packages

+
+

3.26 packages

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


-
-

3.27 My own global variables

+
+

3.27 My own global variables

narrowed fringe background @@ -2050,8 +2050,8 @@ narrowed fringe background


-
-

3.28 More scratch space

+
+

3.28 More scratch space

Sometimes I need a text mode scratch buffer while scratch is @@ -2067,13 +2067,13 @@ already in use. So let's prepare one

-
-

4 Global Key Bindings

+
+

4 Global Key Bindings


-
-

4.1 c-h != delete

+
+

4.1 c-h != delete

(keyboard-translate ?\C-h ?\C-?)
@@ -2088,8 +2088,8 @@ already in use. So let's prepare one
 
-
-

4.2 general keys (re-)mappings

+
+

4.2 general keys (re-)mappings

(global-set-key (kbd "C-x C-4")         'set-selective-display-to-current-column)
@@ -2116,8 +2116,8 @@ already in use. So let's prepare one
 
-
-

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 @@ -2194,13 +2194,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 @@ -2224,8 +2224,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 @@ -2268,8 +2268,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 @@ -2333,8 +2333,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 @@ -2355,8 +2355,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 @@ -2388,8 +2388,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 @@ -2488,8 +2488,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 @@ -2556,8 +2556,8 @@ via ergomacs


-
-

5.9 Window Margin

+
+

5.9 Window Margin

Kinda screen reader for the poor. I use this sometimes with info @@ -2583,8 +2583,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: @@ -2613,8 +2613,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 @@ -2663,8 +2663,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 @@ -2695,8 +2695,8 @@ setup accidentally.


-
-

5.13 Cleanup current buffer

+
-
-

5.14 Better newline(s)

+
-
-

5.15 Mouse Rectangle

+
-
-

5.16 DOS <=> UNIX conversion helpers

+
+

5.16 DOS <=> UNIX conversion helpers

(defun dos2unix ()
@@ -2811,8 +2811,8 @@ via stackoverflow
 
-
-

5.17 helper do add the same thing to multiple mode hooks

+
+

5.17 helper do add the same thing to multiple mode hooks

via stackoverflow @@ -2830,8 +2830,8 @@ usage samples below.

-
-

5.18 helper to catch load errors

+
+

5.18 helper to catch load errors

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


-
-

5.19 Alignment Wrappers

+
+

5.19 Alignment Wrappers

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

-
-

5.20 String Helpers

+
+

5.20 String Helpers

Some helper functions I use here and there. @@ -2944,14 +2944,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)
@@ -2966,8 +2966,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 :) @@ -2995,8 +2995,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 @@ -3143,8 +3143,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. @@ -3187,8 +3187,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 @@ -3265,11 +3265,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. @@ -3296,8 +3296,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 @@ -3391,8 +3391,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 @@ -3410,8 +3410,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 @@ -3447,8 +3447,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 @@ -3557,8 +3557,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 @@ -3568,28 +3568,51 @@ configs. Applies for derivates as well.

-
(defun disarm-conf-mode()
+
(defun tvd-disarm-conf-mode()
   (local-set-key  (kbd "C-c C-c") 'comment-or-uncomment-region-or-line)
   (electric-indent-local-mode 0))
 
-(add-something-to-mode-hooks '(conf cisco fundamental conf-space pod) 'disarm-conf-mode)
+(add-something-to-mode-hooks '(conf cisco fundamental conf-space pod) 'tvd-disarm-conf-mode)
 

-
-

6.2.7 Config::General mode

+
+

6.2.7 Config::General mode

-My own mode for Config::General files +config-general-mode (also on Melpa). +

+ +

+My own mode for Config::General +config files. Whenever I write some perl stuff, which needs a config file, I use +this module (and I do this a lot). Previously I used conf-mode or html-mode, but +both did not satisfy me. Now (as of 20170625) I solved this mess once and for all.

(require 'config-general-mode)
-(add-hook 'config-general-mode-hook 'electric-indent-mode)
-(add-hook 'config-general-mode-hook '(lambda ()
+
+
+ +

+the mode enables electric indent automatically, but I disabled it +for conf-mode (see tvd-disarm-conf-mode), therefore I re-enable it here +for config-general-mode (which inherits from conf-mode). +

+
+
(add-hook 'config-general-mode-hook 'electric-indent-mode)
+
+
+ +

+empty for now +

+
+
(add-hook 'config-general-mode-hook '(lambda ()
                                        t))
 
@@ -3598,11 +3621,11 @@ My own mode for Config::General files
-
-

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 @@ -3621,10 +3644,114 @@ related to ER:

-
-

6.3.2 change-inner

+
+

6.3.2 Mark, Copy, Yank Things

+For a long time this stuff was located here in my emacs config. As +it grew larger and larger I decided to put it into its own mode: +mark-copy-yank-things-mode, which can be found on github these +days. +

+ +

+With this, you can quickly mark or copy or copy+yank things like +words, ip's, url's, lines or defun's with one key binding. I use +this permanently and couldn't live without it anymore. +

+ +

+A special feature is the copy+yanking, this is something vi offers: +go to a line, press yy, then p and the current line will be yanked +below. Prefix with a number and copy+yank more lines. This is +really cool and (in vi) often used. So, with this mode, I can use +it with emacs as well. For example, say you edit a configuration +file and added a complicated statement. Next you need to add +another very similar statement. Instead of entering it again, you +just hit <C-c y y> and the current line appears as a copy +below. Change the differences and you're done! +

+ +
+
(require 'mark-copy-yank-things-mode)
+(mark-copy-yank-things-global-mode)
+
+
+ +

+The mode has a rather impractical prefix since it's published on +github and therefore must be written in a way not to disturb other +modes. However, I myself need those simple prefixes: +

+
+
(define-key mark-copy-yank-things-mode-map (kbd "C-c")   'mcyt-copy-map)
+(define-key mark-copy-yank-things-mode-map (kbd "M-a")   'mcyt-mark-map)
+
+
+

+I use the default yank map +

+ +

+With this I put the last thing copied into a register 'c. I can +then later yank this using C-v anytime without browsing the +kill-ring if I kill things between yanking. So, C-v always inserts +the last copied thing, while C-y yanks the last thing killed, which +might be something else. +

+
+
(advice-add 'mcyt--copy-thing
+            :after
+            '(lambda (&rest args)
+               (with-temp-buffer
+                 (yank)
+                 (copy-to-register 'c (point-min) (point-max)))))
+
+(defun tvd-insert-c-register ()
+  (interactive)
+  (insert-register 'c))
+
+(global-set-key (kbd "C-v")             'tvd-insert-c-register)
+
+
+ +

+copy a real number and convert it to german punctuation upon +yanking, so I can do some calculations in 'calculator, copy the +result NNN.NN and paste it into my online banking formular, where +it appears as NNN,NN. +

+
+
(defun tvd-mcyt-copy-euro (&optional arg)
+  "Copy  euro  at point  into  kill-ring  and convert  to  german
+punctuation"
+  (interactive "P")
+  (mcyt--blink-and-copy-thing 'mcyt-beginning-of-ip 'mcyt-end-of-ip arg)
+  (with-temp-buffer
+    (yank)
+    (beginning-of-buffer)
+    (while (re-search-forward "\\." nil t)
+      (replace-match ","))
+    (kill-region (point-min) (point-max))))
+
+(eval-after-load "mark-copy-yank-things-mode"
+  '(progn
+     (add-hook 'mark-copy-yank-things-mode-hook
+               (lambda () ;; g like [G]eld
+                 (define-key mcyt-copy-map (kbd "g") 'tvd-mcyt-copy-euro)))))
+
+
+ + + +
+
+
+ +
+

6.3.3 change-inner

+
+

I use change-inner with a prefix key and some wrappers around mark-copy-yank-things-mode, which is related to change-inner and expand-region. @@ -3749,9 +3876,9 @@ typing the prefix key twice calls the real change-inner


-
-

6.3.3 Rotate text

-
+
+

6.3.4 Rotate text

+

This one is great as well, I use it to toggle flags and such stuff in configs or code with just one key binding. @@ -3806,9 +3933,9 @@ short command anymore, so C-t would be free now, wouldn't it?

-
-

6.3.4 Word wrapping

-
+
+

6.3.5 Word wrapping

+

same as word-wrap but without the fringe which I hate the most!

@@ -3829,9 +3956,9 @@ overwritten by visual-line-mode above for specifics
-
-

6.3.5 Viking Mode

-
+
+

6.3.6 Viking Mode

+

Delete stuff fast. Press the key multiple times - delete more things. Inspired by expand-region. Written by myself. @@ -3848,9 +3975,9 @@ things. Inspired by expand-region. Written by myself.

-
-

6.3.6 HTMLize

-
+
+

6.3.7 HTMLize

+

extracted from debian package emacs-goodies-el-35.2+nmu1, since there's no other source left. Generates a fontified html version of @@ -3866,9 +3993,9 @@ the current buffer, however it looks.

-
-

6.3.7 iEdit (inline edit multiple searches)

-
+
+

6.3.8 iEdit (inline edit multiple searches)

+

Edit all occurences of something at once. Great for re-factoring.

@@ -3908,11 +4035,11 @@ behavior, so, I modify it myself using defadvice.
-
-

6.4 Interactives

+
+

6.4 Interactives

-
-

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

+
+

6.4.1 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 @@ -4192,8 +4319,8 @@ no need for less or more, this is emacs, isn't it?

-
-

6.4.2 Emacs LISP interactive

+
+

6.4.2 Emacs LISP interactive

General configuration for all things elisp. @@ -4360,8 +4487,8 @@ same applies for quoted symbols

-
-

6.4.3 tramp mode

+
+

6.4.3 tramp mode

Edit remote files, one of the best things in emacs. I use it every day heavily. @@ -4383,8 +4510,8 @@ doku: gnu.org

-
-

6.4.4 org mode

+
+

6.4.4 org mode

I use org mode to take notes mostly at work. I also track projects @@ -4687,8 +4814,8 @@ is in the outline section.


-
-

6.4.5 org table mode

+
+

6.4.5 org table mode

I'm so used to lovely org mode tables, I need them everywhere! @@ -4934,8 +5061,8 @@ tables as well

-
-

6.4.6 org mode slideshows

+
+

6.4.6 org mode slideshows

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


-
-

6.4.7 outshine mode

+
+

6.4.7 outshine mode

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

-
-

6.4.8 outline mode

+
+

6.4.8 outline mode

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


-
-

6.4.9 narrowing (no mode but fits here)

+
+

6.4.9 narrowing (no mode but fits here)

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

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

+
+

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

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

-
-

6.4.11 Puppet

+
+

6.4.11 Puppet

adds hook for .pp files @@ -5482,8 +5609,8 @@ adds hook for .pp files

-
-

6.4.12 Novel Mode - Screen Reader

+
+

6.4.12 Novel Mode - Screen Reader

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

-
-

6.4.13 Macro Math

+
+

6.4.13 Macro Math

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

-
-

6.4.14 Common-Lisp (SLIME)

+
+

6.4.14 Common-Lisp (SLIME)

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

6.4.15 INFO Mode

+
+

6.4.15 INFO Mode

open an info file somewhere outside %infodir% with info-mode @@ -5590,8 +5717,8 @@ easier navigation in Info mode, intuitive history back and forth.

-
-

6.4.16 calc et al.

+
+

6.4.16 calc et al.

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

-
-

6.4.17 MACROs

+
+

6.4.17 MACROs

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


-
-

6.4.18 EWW browser stuff

+
+

6.4.18 EWW browser stuff

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


-
-

6.4.19 Firestarter

+
+

6.4.19 Firestarter

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

-
-

6.4.20 Tabulated List Mode

+
+

6.4.20 Tabulated List Mode

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

-
-

6.4.21 Help Mode

+
+

6.4.21 Help Mode

I even customize help windows! … at least a little :) @@ -6008,11 +6135,11 @@ I even customize help windows! … at least a little :)

-
-

6.5 Emacs Interface

+
+

6.5 Emacs Interface

-
-

6.5.1 Parens

+
+

6.5.1 Parens

display matching braces @@ -6033,8 +6160,8 @@ display matching braces

-
-

6.5.2 highlight todo keywords (such as FIXME)

+
+

6.5.2 highlight todo keywords (such as FIXME)

Absolutely needed! @@ -6049,8 +6176,8 @@ Absolutely needed!


-
-

6.5.3 UNDO Tree Mode

+
+

6.5.3 UNDO Tree Mode

Better undo, with redo support. @@ -6093,8 +6220,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. @@ -6117,8 +6244,8 @@ fails @win, so wrap it

-
-

6.5.5 Which Func

+
+

6.5.5 Which Func

display current function - if any - in mode line @@ -6133,8 +6260,8 @@ display current function - if any - in mode line


-
-

6.5.6 Show current-line in the Fringe

+
+

6.5.6 Show current-line in the Fringe

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

6.5.7 Recent Files

+
+

6.5.7 Recent Files

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

-
-

6.5.8 IDO mode

+
+

6.5.8 IDO mode

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

-
-

6.5.9 Save cursor position

+
+

6.5.9 Save cursor position

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

-
-

6.5.10 DoReMi experimentation

+
+

6.5.10 DoReMi experimentation

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


-
-

6.5.11 Hightligt TABs

+
+

6.5.11 Hightligt TABs

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

-
-

6.5.12 Browse kill-ring

+
+

6.5.12 Browse kill-ring

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

-
-

6.5.13 goto-last-change

+
+

6.5.13 goto-last-change

Very handy, jump to last change[s]. @@ -6482,8 +6609,8 @@ Very handy, jump to last change[s].

-
-

6.5.14 Bookmarks

+
+

6.5.14 Bookmarks

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

-
-

6.5.15 which-key

+
+

6.5.15 which-key

One of the best unobstrusive modes for key help ever. Just start @@ -6536,114 +6663,10 @@ press from there along with the associated functions.

-
-

6.5.16 Mark, Copy, Yank Things

+
+

6.5.16 iBuffer mode

-For a long time this stuff was located here in my emacs config. As -it grew larger and larger I decided to put it into its own mode: -mark-copy-yank-things-mode, which can be found on github these -days. -

- -

-With this, you can quickly mark or copy or copy+yank things like -words, ip's, url's, lines or defun's with one key binding. I use -this permanently and couldn't live without it anymore. -

- -

-A special feature is the copy+yanking, this is something vi offers: -go to a line, press yy, then p and the current line will be yanked -below. Prefix with a number and copy+yank more lines. This is -really cool and (in vi) often used. So, with this mode, I can use -it with emacs as well. For example, say you edit a configuration -file and added a complicated statement. Next you need to add -another very similar statement. Instead of entering it again, you -just hit <C-c y y> and the current line appears as a copy -below. Change the differences and you're done! -

- -
-
(require 'mark-copy-yank-things-mode)
-(mark-copy-yank-things-global-mode)
-
-
- -

-The mode has a rather impractical prefix since it's published on -github and therefore must be written in a way not to disturb other -modes. However, I myself need those simple prefixes: -

-
-
(define-key mark-copy-yank-things-mode-map (kbd "C-c")   'mcyt-copy-map)
-(define-key mark-copy-yank-things-mode-map (kbd "M-a")   'mcyt-mark-map)
-
-
-

-I use the default yank map -

- -

-With this I put the last thing copied into a register 'c. I can -then later yank this using C-v anytime without browsing the -kill-ring if I kill things between yanking. So, C-v always inserts -the last copied thing, while C-y yanks the last thing killed, which -might be something else. -

-
-
(advice-add 'mcyt--copy-thing
-            :after
-            '(lambda (&rest args)
-               (with-temp-buffer
-                 (yank)
-                 (copy-to-register 'c (point-min) (point-max)))))
-
-(defun tvd-insert-c-register ()
-  (interactive)
-  (insert-register 'c))
-
-(global-set-key (kbd "C-v")             'tvd-insert-c-register)
-
-
- -

-copy a real number and convert it to german punctuation upon -yanking, so I can do some calculations in 'calculator, copy the -result NNN.NN and paste it into my online banking formular, where -it appears as NNN,NN. -

-
-
(defun tvd-mcyt-copy-euro (&optional arg)
-  "Copy  euro  at point  into  kill-ring  and convert  to  german
-punctuation"
-  (interactive "P")
-  (mcyt--blink-and-copy-thing 'mcyt-beginning-of-ip 'mcyt-end-of-ip arg)
-  (with-temp-buffer
-    (yank)
-    (beginning-of-buffer)
-    (while (re-search-forward "\\." nil t)
-      (replace-match ","))
-    (kill-region (point-min) (point-max))))
-
-(eval-after-load "mark-copy-yank-things-mode"
-  '(progn
-     (add-hook 'mark-copy-yank-things-mode-hook
-               (lambda () ;; g like [G]eld
-                 (define-key mcyt-copy-map (kbd "g") 'tvd-mcyt-copy-euro)))))
-
-
- - - -
-
-
- -
-

6.5.17 iBuffer mode

-
-

iBuffer is a great interactive buffer management tool included with emacs. I use it with a couple of custom groups, my own collapse-code (<TAB>) and formats. @@ -6851,9 +6874,9 @@ override ibuffer M-o binding

-
-

6.5.18 Printing

-
+
+

6.5.17 Printing

+

overwrites printing default menu, access via menu File => Print or: @@ -6897,9 +6920,9 @@ via -

6.5.19 Beacon mode (pointer blink)

- -
-

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 @@ -6994,13 +7017,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. @@ -7078,8 +7101,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 @@ -7100,8 +7123,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 @@ -7118,7 +7141,7 @@ know easily that something went wrong.

Author: Tom

-

Created: 2017-06-29 Do 16:11

+

Created: 2017-06-29 Do 17:31

Validate