Copy lusty-explorer.el
somewhere in your load-path
, or if if you use MELPA, then:
M-x package-install
=> Install package: lusty-explorer
Add this line to your ~/.emacs.d/init.el
:
(require 'lusty-explorer)
To launch lusty
:
M-x lusty-buffer-explorer
M-x lusty-file-explorer
And then use as you would switch-to-buffer
or find-file
or ido-find-file
. Files/buffers are filtered using the LiquidMetal fuzzy/flex matching algorithm. Dotfiles are hidden by default but you can show them by entering .
.
Keybindings to navigate matches:
TAB
- choose the highlighted item; open a file or buffer, descend into a directoryRET
- ditto, but create the file/buffer if there are no matchesC-n
/C-p
- highlight next item, previous item in the current columnC-f
/C-b
- highlight next column, previous columnC-s
/C-r
- dittoC-x d
- Launchdired
within the current directoryC-x e
- Create a new buffer with the entered name- Evil bindings:
j
,k
,C-f
,C-b
If you add (lusty-explorer-mode)
to your ~/.emacs.d/init.el
, these global bindings take effect:
C-x b
-lusty-buffer-explorer
(in place ofswitch-to-buffer
)C-x f
-lusty-file-explorer
(in place offind-file
)
To modify the keybindings, use something like:
(add-hook 'lusty-setup-hook 'my-lusty-hook)
(defun my-lusty-hook ()
(define-key lusty-mode-map "\C-j" 'lusty-highlight-next))
Respects these variables:
completion-ignored-extensions
Bringing this old package closer to the conventions and quality-of-life standards of Emacs packages of 2020
- Presentation:
- Robustness:
- If the package crashes or exits in an unexpected way, it cleans itself up;
- Can now dismiss
lusty
when the matches window is selected usingq
orC-g
orESC ESC ESC
;
- Correctness:
- Buffer recency is according to the ordering of the current frame rather than the global ordering;
- Performance improvements for working in directories having many thousands of files;
- Tassilo Horn
- Jan Rehders
- Hugo Schmitt
- Volkan Yazici
- René Kyllingstad
- Alex Schroeder
- Sasha Kovar
- John Wiegley
- Johan Walles
- p3r7
- Nick Alcock
- Jonas Bernoulli