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">
- +Toms Emacs Config - portable - version (20170703.01) -*-emacs-lisp-*-
-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.
20160420.03: @@ -1241,8 +1241,8 @@ regexps anymore, use outshine functions
My emacs config has a version (consisting of a timestamp with a @@ -1274,12 +1276,16 @@ I'm using an outdated config somewhere.
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
better visibility of cursor in console sessions @@ -1347,8 +1353,8 @@ better visibility of cursor in console sessions
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.
make backspace work in console sessions @@ -1433,8 +1439,8 @@ make backspace work in console sessions
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.
(setq initial-scratch-message "") @@ -1464,8 +1470,8 @@ I prefer a bare bones emacs window without any distractions, so turn them off.
y is shorter than yes and less error prone. @@ -1478,8 +1484,8 @@ y is shorter than yes and less error prone.
very useful to know current column @@ -1492,8 +1498,8 @@ very useful to know current column
this can be seen in xmobar @@ -1507,8 +1513,8 @@ this can be seen in xmobar
(setq require-final-newline t) @@ -1518,8 +1524,8 @@ this can be seen in xmobar
where to look for extensions: @@ -1546,8 +1552,8 @@ modules
handy function to recompile all lisp files @@ -1562,8 +1568,8 @@ handy function to recompile all lisp files
I use those bindings everywhere (firefox, terminal, etc), and in @@ -1589,11 +1595,11 @@ emacs as well.
Very practical: resize windows easily. @@ -1610,8 +1616,8 @@ hit C-c C-r then use cursor keys to resize, <ret> to finish
(require 'windmove) @@ -1622,8 +1628,8 @@ hit C-c C-r then use cursor keys to resize, <ret> to finish
via mbork @@ -1703,8 +1709,8 @@ Use only in X11 emacs - setting M-O inside console causes <up> and
F5 == reload file if it has been modified by another process, shift @@ -1729,8 +1735,8 @@ because Xmonad
I use spaces everywhere but Makefiles. If I encounter TABs I @@ -1770,8 +1776,8 @@ Use normal tabs in makefiles
M-x q r <ret> is short enough for me, no need for key bindings for @@ -1803,8 +1809,8 @@ those
point stays while scrolling @@ -1857,8 +1863,8 @@ I'm grown up!
(define-key global-map [C-down-mouse-2] 'imenu) @@ -1868,8 +1874,8 @@ I'm grown up!
Related: @@ -1936,8 +1942,8 @@ marked region automatically copied, also on win
are you from the past? @@ -1950,8 +1956,8 @@ are you from the past?
Complete filenames case insensitive and ignore certain files during completion.
@@ -1981,8 +1987,8 @@ via
-
Do I really need those anymore? Added ca 1999…
@@ -2004,8 +2010,8 @@ Do I really need those anymore? Added ca 1999…
I dont need it all the time and only for experimentation, so lets
@@ -2047,8 +2053,8 @@ only use melpa on demand
narrowed fringe background
@@ -2061,8 +2067,8 @@ narrowed fringe background
Sometimes I need a text mode scratch buffer while scratch is
@@ -2078,13 +2084,13 @@ already in use. So let's prepare one
via emacswiki
@@ -2206,13 +2213,13 @@ more help with: describe-function occur-mode
I stole this somewhere, as far as I remember, emacswiki, however, I
@@ -2236,8 +2243,8 @@ always had F7 for goto-line
Sometimes when sitting in a very dark enviroment, my usual light
@@ -2280,8 +2287,8 @@ fast
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
by Jens Heunemann: jump to percent position into current buffer
@@ -2367,8 +2374,8 @@ by Jens Heunemann: jump to percent position into current buffer
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 %.
Mark a region, then use M-up|down to move it around
@@ -2500,8 +2507,8 @@ code from
-
via stackoverflow
@@ -2523,8 +2530,8 @@ via stackoverflow
Simulate the # function of vi, marks the symbol at point, C-s then
@@ -2568,8 +2575,8 @@ via ergomacs
Kinda screen reader for the poor. I use this sometimes with info
@@ -2595,8 +2602,8 @@ left+right margin on demand (but nothing else)
this is just a shortcut for:
@@ -2625,8 +2632,8 @@ idea via:
-
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.
From time to time I get annoyed by the many dozen buffers
@@ -2707,8 +2714,8 @@ setup accidentally.
Remove TABs, leading and trailing spaces, re-indent a buffer.
@@ -2738,8 +2745,8 @@ via whattheemacs.d
Add newline and jump to indent from wherever I am in the current
@@ -2773,8 +2780,8 @@ via whattheemacs.d<
There's not much use for the mouse in emacs, but this gimick is
@@ -2804,8 +2811,8 @@ via stackoverflow
via stackoverflow
@@ -2842,8 +2849,8 @@ usage samples below.
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.
align-regexp is already a very usefull tool, however, sometimes I
@@ -2916,8 +2923,8 @@ wrappers to make this easier.
Some helper functions I use here and there.
@@ -2956,14 +2963,14 @@ Some helper functions I use here and there.
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 :)
I am a perl addict. I love it, therefore, emacs must be prepared
@@ -3155,8 +3162,8 @@ and hook them into cperl
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:
I use ETAGS for some projects. With etags I can easily jump to the
@@ -3277,11 +3284,11 @@ some handy aliases
Used for XML and the likes.
@@ -3308,8 +3315,8 @@ Used for XML and the likes.
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.
Written by myself many years ago, but I'm still using it daily to
@@ -3422,8 +3429,8 @@ view and prepare cisco configs.
I rarely use markdown, but sometimes I stumble upon such a file and
@@ -3459,8 +3466,8 @@ parens and quotes constraints check on save
I LOVE POD! POD is the documentation format of perl and there's a
@@ -3569,8 +3576,8 @@ pod mode config
conf-mode annoyingly overwrites the global keybinding C-c C-c with
@@ -3591,8 +3598,8 @@ configs. Applies for derivates as well.
config-general-mode (also on Melpa).
@@ -3632,11 +3639,11 @@ enable outshine
One of the best modes I ever discovered. Press C-= multiple times
@@ -3655,8 +3662,8 @@ related to ER:
For a long time this stuff was located here in my emacs config. As
@@ -3759,8 +3766,8 @@ it appears as NNN,NN.
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
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?
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
Delete stuff fast. Press the key multiple times - delete more
@@ -3981,8 +3988,8 @@ things. Inspired by expand-region. Written by myself.
extracted from debian package emacs-goodies-el-35.2+nmu1, since
@@ -3999,8 +4006,8 @@ the current buffer, however it looks.
Edit all occurences of something at once. Great for re-factoring.
@@ -4041,11 +4048,11 @@ behavior, so, I modify it myself using defadvice.
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?
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.
+
el2markdown is a module which
@@ -4518,8 +4562,8 @@ README.md. Take care though: it doesn't convert the META section.
Edit remote files, one of the best things in emacs. I use it every day heavily.
@@ -4541,8 +4585,8 @@ doku: gnu.org
I use org mode to take notes mostly at work. I also track projects
@@ -4843,8 +4887,8 @@ is in the outline section.
I'm so used to lovely org mode tables, I need them everywhere!
@@ -5090,8 +5134,8 @@ tables as well
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
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.
I use the very same cycle style as in org mode: when on a heading,
@@ -5478,8 +5522,8 @@ orange fringe when narrowed
I use narrowing quite frequently, so here are some enhancements.
@@ -5519,8 +5563,8 @@ via
-
I use ansi term for inferior shells only.
@@ -5636,8 +5680,8 @@ finally the inferior REPLs:
adds hook for .pp files
@@ -5651,8 +5695,8 @@ adds hook for .pp files
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.
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)
I'm learing CL with slime, start with M-x slime.
@@ -5726,8 +5770,8 @@ INSTALL: (see:
-
open an info file somewhere outside %infodir% with info-mode
@@ -5759,8 +5803,8 @@ easier navigation in Info mode, intuitive history back and forth.
emacs provides 4 ways to calculate:
@@ -5810,8 +5854,8 @@ or, inferior perl calc: M-x icalc, see above
help: emacswiki macro tricks.
@@ -6024,8 +6068,8 @@ but only load if in use
Emacs has a builtin browser, which is not too bad.
@@ -6093,8 +6137,8 @@ hides menus and distractions! Update emacs.
experimental: do things on save buffer etc.
@@ -6103,8 +6147,8 @@ Source: firestarter
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)
I even customize help windows! … at least a little :)
@@ -6176,8 +6220,8 @@ I even customize help windows! … at least a little :)
suggest mode is a great
@@ -6228,11 +6272,11 @@ I use my own clearing function, since suggest doesn't provide this
display matching braces
@@ -6253,8 +6297,8 @@ display matching braces
Absolutely needed!
@@ -6269,8 +6313,8 @@ Absolutely needed!
Better undo, with redo support.
@@ -6313,8 +6357,8 @@ M-_ catched by Xmonad
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
display current function - if any - in mode line
@@ -6353,8 +6397,8 @@ display current function - if any - in mode line
You know the file you edited yesterday had "kri" in its name, but
@@ -6392,6 +6436,7 @@ setup
enable IDO completion
via emacsredux
+modified to exclude already visited files
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.
+
So the next time I start emacs and open a file I were editing
@@ -6614,8 +6670,8 @@ before.
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]
not a mode, but however: higlight TABs in certain modes
@@ -6668,8 +6724,8 @@ not a mode, but however: higlight TABs in certain modes
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…
Very handy, jump to last change[s].
@@ -6705,8 +6761,8 @@ Very handy, jump to last change[s].
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)
One of the best unobstrusive modes for key help ever. Just start
@@ -6759,8 +6815,8 @@ press from there along with the associated functions.
iBuffer is a great interactive buffer management tool included with
@@ -6970,8 +7026,8 @@ override ibuffer M-o binding
overwrites printing default menu, access via menu File => Print
@@ -7016,8 +7072,8 @@ via
-
Source: beacon mode
@@ -7047,8 +7103,8 @@ editing position.
I just append the current version of my emacs config and leave out
@@ -7113,13 +7169,13 @@ custom modeline
Font color config, must always be the last thing so all hook faces are loaded.
@@ -7197,8 +7253,8 @@ unless we're on windoze
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.
Finally, this message is being displayed. If this isn't the case I
@@ -7237,7 +7293,7 @@ know easily that something went wrong.
3.24 abbreviations
+3.24 abbreviations
3.25 meaningful names for buffers with the same name
+3.25 meaningful names for buffers with the same name
3.26 packages
+3.26 packages
3.27 My own global variables
+3.27 My own global variables
3.28 More scratch space
+3.28 More scratch space
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
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
5 Productivity Functions
+5 Productivity Functions
5.1 goto line with tmp line numbers
+5.1 goto line with tmp line numbers
5.2 invert fore- and background
+5.2 invert fore- and background
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
5.4 percent function
+5.4 percent function
5.5 Simulate vi's % function
+5.5 Simulate vi's % function
5.6 Move region
+5.6 Move region
5.7 comment-uncomment region with one key binding
+5.7 comment-uncomment region with one key binding
5.8 search for symbol at point
+5.8 search for symbol at point
5.9 Window Margin
+5.9 Window Margin
5.10 Fill and justify a paragraph
+5.10 Fill and justify a paragraph
5.11 Make a read-only copy of the current buffer
+5.11 Make a read-only copy of the current buffer
5.12 Cleanup, close all windows and kill all buffers
+5.12 Cleanup, close all windows and kill all buffers
5.13 Cleanup current buffer
+5.13 Cleanup current buffer
5.14 Better newline(s)
+5.14 Better newline(s)
5.15 Mouse Rectangle
+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
5.18 helper to catch load errors
+5.18 helper to catch load errors
5.19 Alignment Wrappers
+5.19 Alignment Wrappers
5.20 String Helpers
+5.20 String Helpers
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
6.1.3 cperl mode
+6.1.3 cperl mode
6.1.4 Paredit for lisp only
+6.1.4 Paredit for lisp only
6.1.5 ETAGS
+6.1.5 ETAGS
6.2 Text Modes
+6.2 Text Modes
6.2.1 sgml
+6.2.1 sgml
6.2.2 web-mode (JS, HTML, CSS combined)
+6.2.2 web-mode (JS, HTML, CSS combined)
6.2.3 Cisco Mode
+6.2.3 Cisco Mode
6.2.4 Markdown
+6.2.4 Markdown
6.2.5 POD mode
+6.2.5 POD mode
6.2.6 conf-mode
+6.2.6 conf-mode
6.2.7 Config::General mode
+6.2.7 Config::General mode
6.3 Text Manupilation
+6.3 Text Manupilation
6.3.1 expand-region
+6.3.1 expand-region
6.3.2 Mark, Copy, Yank Things
+6.3.2 Mark, Copy, Yank Things
6.3.3 change-inner
+6.3.3 change-inner
6.3.4 Rotate text
+6.3.4 Rotate text
6.3.5 Word wrapping
+6.3.5 Word wrapping
6.3.6 Viking Mode
+6.3.6 Viking Mode
6.3.7 HTMLize
+6.3.7 HTMLize
6.3.8 iEdit (inline edit multiple searches)
+6.3.8 iEdit (inline edit multiple searches)
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
6.4.2 Emacs LISP interactive
+6.4.2 Emacs LISP interactive
(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
6.4.4 tramp mode
+6.4.4 tramp mode
6.4.5 org mode
+6.4.5 org mode
6.4.6 org table mode
+6.4.6 org table mode
6.4.7 org mode slideshows
+6.4.7 org mode slideshows
6.4.8 outshine mode
+6.4.8 outshine mode
6.4.9 outline mode
+6.4.9 outline mode
6.4.10 narrowing (no mode but fits here)
+6.4.10 narrowing (no mode but fits here)
6.4.11 ANSI-TERM (inferior shells/interpreters and REPLs)
+6.4.11 ANSI-TERM (inferior shells/interpreters and REPLs)
6.4.12 Puppet
+6.4.12 Puppet
6.4.13 Novel Mode - Screen Reader
+6.4.13 Novel Mode - Screen Reader
6.4.14 Macro Math
+6.4.14 Macro Math
6.4.15 Common-Lisp (SLIME)
+6.4.15 Common-Lisp (SLIME)
6.4.16 INFO Mode
+6.4.16 INFO Mode
6.4.17 calc et al.
+6.4.17 calc et al.
6.4.18 MACROs
+6.4.18 MACROs
6.4.19 EWW browser stuff
+6.4.19 EWW browser stuff
6.4.20 Firestarter
+6.4.20 Firestarter
6.4.21 Tabulated List Mode
+6.4.21 Tabulated List Mode
6.4.22 Help Mode
+6.4.22 Help Mode
6.4.23 Suggest Mode
+6.4.23 Suggest Mode
6.5 Emacs Interface
+6.5 Emacs Interface
6.5.1 Parens
+6.5.1 Parens
6.5.2 highlight todo keywords (such as FIXME)
+6.5.2 highlight todo keywords (such as FIXME)
6.5.3 UNDO Tree Mode
+6.5.3 UNDO Tree Mode
6.5.4 Smarter M-x Mode (smex)
+6.5.4 Smarter M-x Mode (smex)
6.5.5 Which Func
+6.5.5 Which Func
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
(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
(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
6.5.9 Save cursor position
+6.5.9 Save cursor position
6.5.10 DoReMi experimentation
+6.5.10 DoReMi experimentation
6.5.11 Hightligt TABs
+6.5.11 Hightligt TABs
6.5.12 Browse kill-ring
+6.5.12 Browse kill-ring
6.5.13 goto-last-change
+6.5.13 goto-last-change
6.5.14 Bookmarks
+6.5.14 Bookmarks
6.5.15 which-key
+6.5.15 which-key
6.5.16 iBuffer mode
+6.5.16 iBuffer mode
6.5.17 Printing
+6.5.17 Printing
6.5.18 Beacon mode (pointer blink)
+6.5.18 Beacon mode (pointer blink)
6.6 mode-line setup (must be the last mode)
+6.6 mode-line setup (must be the last mode)
7 Emacs Autoconfig / Customizegroup stuff
+7 Emacs Autoconfig / Customizegroup stuff
7.1 font faces
+7.1 font faces
7.2 variables
+7.2 variables
7.3 done
+7.3 done