I think quite a few people are using ido-mode
to navigate through files an
and buffers; we discussed it here already a long time ago. I am a happy
ido
-user myself – it took me some time to fully get full accustomed to the
key bindings, but now it feels very natural. Definitely an improvement of my
emacs user experience.
However, I am always looking for new things – and one of those is a sort-of
ido-mode
substitute. It's called the Lusty Explorer and it's the emacs
implementation of an existing vim-plugin. It's quite similar to ido-mode
;
the difference is mainly that it shows all the files or buffers at the same
time, in the way that shells (say, bash
or zsh
) do auto-completion.
The best way to show how it works is using an screencast (note, this is of a
slightly older version). Lusty Explorer uses fuzzy matching; that means that
I can type /etc/fo
, and all items in /etc/
with names f.*o
match.
To install lusty-explorer
, simply copy lusty-explorer.el to your
load-path
, and put something like the following in your .emacs
:0
(when (require 'lusty-explorer nil 'noerror) ;; overrride the normal file-opening, buffer switching (global-set-key (kbd "C-x C-f") 'lusty-file-explorer) (global-set-key (kbd "C-x b") 'lusty-buffer-explorer))
Side-note, the (when (require 'lusty-explorer nil 'noerror) ...)
is there
just make sure that no error is raised when lusty-explorer
is not found, and
the rest is ignored in that case. I use this construct for all packages that
are not necessarily available everywhere I use my .emacs
; thus, they will
simply be ignored and not cause startup errors.
I've been using Lusty Explorer for about a week now, and I am quite happy with
it. I still need some time (and maybe some more customization) to get used to
the way it works - for example, I found the way ido-mode
handles backspace a
bit smarter. Also, ido-mode
can be customized to a much greater extent. That
might merely be a factor of the relative age of the packages – and I haven't
really felt the need to customize Lusty Explorer too much. For now, I think
I'm going to keep on using it. It's worth a try at least!
10 comments:
Interesting trick with require. I've been using:
(defun maybe-load-library (libname)
"Try and load library 'libname' if it is in the path"
(if (locate-library libname)
(load-library libname)))
Which I think achieves the same result. I guess (require) must have seen a file to know that it supplies a given feature?
Interesting. On a somewhat unrelated note, what I'm wishing is some kind of mc-like interface inside emacs. Aside from emacs, mc is what I use the most when I'm in terminal/vconsole.
Nice. Will explore.
"lusty" is nice but i don't think i'll be leaving "anything" any time soon :)
@steven haryanto
if you want something MC like for emacs have a look at "sunrise commander" ( http://www.emacswiki.org/emacs/Sunrise_Commander ) i can't vouch for it as i'm not a user and i never really was a mc fan to begin with so i can't really judge it but i'm told it's close enough as to make mc diehards feel at home
me, i'll keep using good old plain dired ;)
IMHO nothing beats swbuff for quick buffer switching. I've bound the buffer-switching functions to C-TAB and C-S-TAB, allowing me to switch buffers the same way you can switch tabs in e.g. Firefox.
http://www.emacswiki.org/emacs/SwBuff
I just tried it out, but I did not really see what is the advantage over ido.
Anyone?
Note: I always use ido with "fuzzing matching"
(setq ido-enable-flex-matching t)
@Anonymous: for file navigation, I like the way LE shows them (like a shell); for buffers, I think I actually prefer the ido-way. Probably depends on how many you have.
another candidate build on top of ido is smex http://github.com/nonsequitur/smex you should have a look at it.
Wicked cool. I've mapped lusty file explorer to C-x C-f.
I cant see any advantage over ido which is better for things like files not in current directory. ido supports fuzzy matching too.
Post a Comment