Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;; f1 giver en liste over nyligt åbnede filer.
- ;; M-f1 giver en søgbar liste. Som C-x b for buffer.
- ;; Kræver ido, http://www.emacswiki.org/emacs/InteractivelyDoThings
- ;; keybindinger
- (global-set-key [f1] 'recentf-open-files)
- (global-set-key [(meta f1)] 'recentf-interactive-complete) ;; use ido to search recently opened files
- ;; funktioner
- ;; M-[f1] søg efter nyligt åbede filer
- (defun recentf-interactive-complete ()
- "find a file in the recently open file using ido for completion"
- (interactive)
- (let* ((all-files recentf-list)
- (file-assoc-list (mapcar (lambda (x) (cons (file-name-nondirectory x) x)) all-files))
- (filename-list (remove-duplicates (mapcar 'car file-assoc-list) :test 'string=))
- (ido-make-buffer-list-hook
- (lambda ()
- (setq ido-temp-list filename-list)))
- (filename (ido-read-buffer "Find Recent File: "))
- (result-list (delq nil (mapcar (lambda (x) (if (string= (car x) filename) (cdr x))) file-assoc-list)))
- (result-length (length result-list)))
- (find-file
- (cond
- ((= result-length 0) filename)
- ((= result-length 1) (car result-list))
- ( t
- (let ( (ido-make-buffer-list-hook
- (lambda ()
- (setq ido-temp-list result-list))))
- (ido-read-buffer (format "%d matches:" result-length))))
- ))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement