From fa74f28e83cf7ae3f14d9bc619c11a8adb0a245e Mon Sep 17 00:00:00 2001 From: Thomas von Dein Date: Tue, 4 Jul 2017 21:21:59 +0200 Subject: [PATCH] +fixes --- .emacs | 50 ++- emacs.html | 868 ++++++++++++++++++++++++++++------------------------- 2 files changed, 510 insertions(+), 408 deletions(-) diff --git a/.emacs b/.emacs index 365c57a..62123ce 100644 --- a/.emacs +++ b/.emacs @@ -415,6 +415,8 @@ ;; - check no-littering https://github.com/tarsius/no-littering ;; - submit novel + mark-copy-yank-things-mode to MELPA ;; - put tvd-ci-* stuff into mcyt +;; - check https://github.com/Wilfred/refine +;; https://github.com/Wilfred/emacs-refactor ;; -------------------------------------------------------------------------------- ;; ** .emacs config version @@ -428,6 +430,7 @@ ;; * System Specifics ;; ** Global init file+dir vars, portable +;; - added dev function which opens a new development frame ;; since I always use ~/.emacs as my init file, this results in the ;; correct emacs dir: @@ -874,7 +877,8 @@ to next buffer otherwise." (keyboard-translate ?\C-h ?\C-?) (keyboard-translate ?\C-? ?\C-h) ;; - 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 ;; -------------------------------------------------------------------------------- @@ -2588,6 +2592,38 @@ a list symbol describing the command." 'emacs-lisp-mode '(("'[-a-zA-Z_][-a-zA-Z0-9_]*\\>" 0 'font-lock-constant-face))) +;; I hate it when help, debug, ielm and other peripheral buffers +;; litter my emacs window setup. So, this function fixes this: it +;; opens a new frame with all those buffers already opened and pinned. + +(defun dev () + "Open a new emacs frame with some development peripheral buffers." + (interactive) + (let ((F (new-frame))) + (with-selected-frame F + (with-current-buffer (get-buffer-create "*Help*") + (help-mode)) + (with-current-buffer (get-buffer-create "*ielm*") + (ielm)) + (with-current-buffer (get-buffer-create "*suggest*") + (suggest)) + (switch-to-buffer "*ielm*") + (split-window-horizontally) + (split-window-vertically) + (windmove-down) + (switch-to-buffer "*suggest*") + (tvd-suggest-reload) + (tvd-suggest-reload) + (calculator) + (windmove-right) + (switch-to-buffer "*Help*") + (split-window-vertically) + (windmove-down) + (switch-to-buffer "*scratch*") + (set-window-dedicated-p (selected-window) t) + (set-background-color "azure")))) + + ;; -------------------------------------------------------------------------------- ;; *** el2markdown @@ -3912,6 +3948,7 @@ defun." ;; setup (require 'recentf) +(require 'cl-lib) (setq recentf-auto-cleanup 'never) ;; avoid stat() on tramp buffers (recentf-mode 1) @@ -3921,10 +3958,16 @@ defun." ;; enable IDO completion ;; via [[http://emacsredux.com/blog/2013/04/05/recently-visited-files/][emacsredux]] +;; modified to exclude already visited files +(defun tvd-buffer-exists-p (bufname) + (not (eq nil (get-file-buffer bufname)))) + (defun recentf-ido-find-file () "Find a recent file using ido." (interactive) - (let ((file (ido-completing-read "Choose recent file: " recentf-list nil t))) + (let ((file (ido-completing-read + "Choose recent file: " + (cl-remove-if 'tvd-buffer-exists-p recentf-list) nil t))) (when file (find-file file)))) @@ -3956,6 +3999,8 @@ defun." '(not (file-readable-p)) )) + + ;; -------------------------------------------------------------------------------- ;; *** IDO mode @@ -4047,6 +4092,7 @@ defun." (concat "/sudo:localhost:" file-name)))) (find-alternate-file file-root)))) +;; FIXME: add ido-ignore-files defun. ;; -------------------------------------------------------------------------------- diff --git a/emacs.html b/emacs.html index 74abe96..09d8f2b 100644 --- a/emacs.html +++ b/emacs.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -232,174 +232,174 @@ for the JavaScript code in this tag.

Table of Contents

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

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

-
-

1 Introduction

+
+

1 Introduction

This is my emacs config, it is more than twenty years old. It @@ -463,11 +463,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: @@ -1241,8 +1241,8 @@ regexps anymore, use outshine functions

-
-

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 @@ -1274,12 +1276,16 @@ 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
  • +
+

since I always use ~/.emacs as my init file, this results in the correct emacs dir: @@ -1312,8 +1318,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 @@ -1330,8 +1336,8 @@ look: emacswiki


-
-

3.3 line-cursor in console

+
+

3.3 line-cursor in console

better visibility of cursor in console sessions @@ -1347,8 +1353,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 @@ -1419,8 +1425,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 @@ -1433,8 +1439,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. @@ -1450,8 +1456,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 "")
@@ -1464,8 +1470,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. @@ -1478,8 +1484,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 @@ -1492,8 +1498,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 @@ -1507,8 +1513,8 @@ this can be seen in xmobar


-
-

3.11 avoid invalid files

+
+

3.11 avoid invalid files

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

3.12 prepare load-path

+
+

3.12 prepare load-path

where to look for extensions: @@ -1546,8 +1552,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 @@ -1562,8 +1568,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 @@ -1589,11 +1595,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. @@ -1610,8 +1616,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)
@@ -1622,8 +1628,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 @@ -1703,8 +1709,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 @@ -1729,8 +1735,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 @@ -1770,8 +1776,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 @@ -1803,8 +1809,8 @@ those


-
-

3.19 various settings

+
+

3.19 various settings

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


-
-

3.20 load imenu

+
+

3.20 load imenu

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

3.21 copy/paste Config

+
+

3.21 copy/paste Config

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


-
-

3.22 use more mem

+
+

3.22 use more mem

are you from the past? @@ -1950,8 +1956,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. @@ -1981,8 +1987,8 @@ via -

3.24 abbreviations

+
+

3.24 abbreviations

Do I really need those anymore? Added ca 1999… @@ -2004,8 +2010,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 @@ -2047,8 +2053,8 @@ only use melpa on demand


-
-

3.27 My own global variables

+
+

3.27 My own global variables

narrowed fringe background @@ -2061,8 +2067,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 @@ -2078,13 +2084,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-?)
@@ -2094,14 +2100,15 @@ already in use. So let's prepare one
 
  • added 'change-inner and ci simulators'
  • added suggest.el with my own reload function
  • +
  • modified recentf: do not provide files already visited

-
-

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)
@@ -2128,8 +2135,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 @@ -2206,13 +2213,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 @@ -2236,8 +2243,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 @@ -2280,8 +2287,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 @@ -2345,8 +2352,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 @@ -2367,8 +2374,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 @@ -2400,8 +2407,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 @@ -2500,8 +2507,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 @@ -2568,8 +2575,8 @@ via ergomacs


-
-

5.9 Window Margin

+
+

5.9 Window Margin

Kinda screen reader for the poor. I use this sometimes with info @@ -2595,8 +2602,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: @@ -2625,8 +2632,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 @@ -2675,8 +2682,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 @@ -2707,8 +2714,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 ()
@@ -2823,8 +2830,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 @@ -2842,8 +2849,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 @@ -2865,8 +2872,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 @@ -2916,8 +2923,8 @@ wrappers to make this easier.

-
-

5.20 String Helpers

+
+

5.20 String Helpers

Some helper functions I use here and there. @@ -2956,14 +2963,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)
@@ -2978,8 +2985,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 :) @@ -3007,8 +3014,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 @@ -3155,8 +3162,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. @@ -3199,8 +3206,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 @@ -3277,11 +3284,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. @@ -3308,8 +3315,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 @@ -3403,8 +3410,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 @@ -3422,8 +3429,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 @@ -3459,8 +3466,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 @@ -3569,8 +3576,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 @@ -3591,8 +3598,8 @@ configs. Applies for derivates as well.

-
-

6.2.7 Config::General mode

+
+

6.2.7 Config::General mode

config-general-mode (also on Melpa). @@ -3632,11 +3639,11 @@ enable outshine

-
-

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 @@ -3655,8 +3662,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 @@ -3759,8 +3766,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 @@ -3882,8 +3889,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 @@ -3939,8 +3946,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! @@ -3962,8 +3969,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 @@ -3981,8 +3988,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 @@ -3999,8 +4006,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. @@ -4041,11 +4048,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 @@ -4325,8 +4332,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. @@ -4490,11 +4497,48 @@ same applies for quoted symbols

+

+I hate it when help, debug, ielm and other peripheral buffers +litter my emacs window setup. So, this function fixes this: it +opens a new frame with all those buffers already opened and pinned. +

+ +
+
(defun dev ()
+  "Open a new emacs frame with some development peripheral buffers."
+  (interactive)
+  (let ((F (new-frame)))
+    (with-selected-frame F
+      (with-current-buffer (get-buffer-create "*Help*")
+        (help-mode))
+      (with-current-buffer (get-buffer-create "*ielm*")
+        (ielm))
+      (with-current-buffer (get-buffer-create "*suggest*")
+        (suggest))
+      (switch-to-buffer "*ielm*")
+      (split-window-horizontally)
+      (split-window-vertically)
+      (windmove-down)
+      (switch-to-buffer "*suggest*")
+      (tvd-suggest-reload)
+      (tvd-suggest-reload)
+      (calculator)
+      (windmove-right)
+      (switch-to-buffer "*Help*")
+      (split-window-vertically)
+      (windmove-down)
+      (switch-to-buffer "*scratch*")
+      (set-window-dedicated-p (selected-window) t)
+      (set-background-color "azure"))))
+
+
+ +
-
-

6.4.3 el2markdown

+
+

6.4.3 el2markdown

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

-
-

6.4.4 tramp mode

+
+

6.4.4 tramp mode

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

-
-

6.4.5 org mode

+
+

6.4.5 org mode

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


-
-

6.4.6 org table mode

+
+

6.4.6 org table mode

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

-
-

6.4.7 org mode slideshows

+
+

6.4.7 org mode slideshows

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


-
-

6.4.8 outshine mode

+
+

6.4.8 outshine mode

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

-
-

6.4.9 outline mode

+
+

6.4.9 outline mode

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


-
-

6.4.10 narrowing (no mode but fits here)

+
+

6.4.10 narrowing (no mode but fits here)

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

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

+
+

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

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

-
-

6.4.12 Puppet

+
+

6.4.12 Puppet

adds hook for .pp files @@ -5651,8 +5695,8 @@ adds hook for .pp files

-
-

6.4.13 Novel Mode - Screen Reader

+
+

6.4.13 Novel Mode - Screen Reader

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

-
-

6.4.14 Macro Math

+
+

6.4.14 Macro Math

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

-
-

6.4.15 Common-Lisp (SLIME)

+
+

6.4.15 Common-Lisp (SLIME)

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

6.4.16 INFO Mode

+
+

6.4.16 INFO Mode

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

-
-

6.4.17 calc et al.

+
+

6.4.17 calc et al.

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

-
-

6.4.18 MACROs

+
+

6.4.18 MACROs

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


-
-

6.4.19 EWW browser stuff

+
+

6.4.19 EWW browser stuff

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


-
-

6.4.20 Firestarter

+
+

6.4.20 Firestarter

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

-
-

6.4.21 Tabulated List Mode

+
+

6.4.21 Tabulated List Mode

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

-
-

6.4.22 Help Mode

+
+

6.4.22 Help Mode

I even customize help windows! … at least a little :) @@ -6176,8 +6220,8 @@ I even customize help windows! … at least a little :)

-
-

6.4.23 Suggest Mode

+
+

6.4.23 Suggest Mode

suggest mode is a great @@ -6228,11 +6272,11 @@ I use my own clearing function, since suggest doesn't provide this

-
-

6.5 Emacs Interface

+
+

6.5 Emacs Interface

-
-

6.5.1 Parens

+
+

6.5.1 Parens

display matching braces @@ -6253,8 +6297,8 @@ display matching braces

-
-

6.5.2 highlight todo keywords (such as FIXME)

+
+

6.5.2 highlight todo keywords (such as FIXME)

Absolutely needed! @@ -6269,8 +6313,8 @@ Absolutely needed!


-
-

6.5.3 UNDO Tree Mode

+
+

6.5.3 UNDO Tree Mode

Better undo, with redo support. @@ -6313,8 +6357,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. @@ -6337,8 +6381,8 @@ fails @win, so wrap it

-
-

6.5.5 Which Func

+
+

6.5.5 Which Func

display current function - if any - in mode line @@ -6353,8 +6397,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)
@@ -6373,8 +6417,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 @@ -6392,6 +6436,7 @@ setup

(require 'recentf)
+(require 'cl-lib)
 (setq recentf-auto-cleanup 'never) ;; avoid stat() on tramp buffers
 (recentf-mode 1)
 
@@ -6409,12 +6454,18 @@ I like to have a longer list reaching deeper into the past

enable IDO completion via emacsredux +modified to exclude already visited files

-
(defun recentf-ido-find-file ()
+
(defun tvd-buffer-exists-p (bufname)
+  (not (eq nil (get-file-buffer bufname))))
+
+(defun recentf-ido-find-file ()
   "Find a recent file using ido."
   (interactive)
-  (let ((file (ido-completing-read "Choose recent file: " recentf-list nil t)))
+  (let ((file (ido-completing-read
+               "Choose recent file: "
+               (cl-remove-if 'tvd-buffer-exists-p recentf-list) nil t)))
     (when file
       (find-file file))))
 
@@ -6458,12 +6509,14 @@ exclude some auto generated files
 
+ +
-
-

6.5.8 IDO mode

+
+

6.5.8 IDO mode

There are other completion enhancement packages available like ivy @@ -6587,13 +6640,16 @@ by howardism: [re]open non-writable file with sudo

+

+FIXME: add ido-ignore-files defun. +


-
-

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 @@ -6614,8 +6670,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. @@ -6644,8 +6700,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 @@ -6668,8 +6724,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 @@ -6687,8 +6743,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]. @@ -6705,8 +6761,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 @@ -6738,8 +6794,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 @@ -6759,8 +6815,8 @@ press from there along with the associated functions.

-
-

6.5.16 iBuffer mode

+
+

6.5.16 iBuffer mode

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

-
-

6.5.17 Printing

+
+

6.5.17 Printing

overwrites printing default menu, access via menu File => Print @@ -7016,8 +7072,8 @@ via -

6.5.18 Beacon mode (pointer blink)

+
+

6.5.18 Beacon mode (pointer blink)

Source: beacon mode @@ -7047,8 +7103,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 @@ -7113,13 +7169,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. @@ -7197,8 +7253,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 @@ -7219,8 +7275,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 @@ -7237,7 +7293,7 @@ know easily that something went wrong.

Author: Tom

-

Created: 2017-07-04 Di 07:43

+

Created: 2017-07-04 Di 21:21

Validate