How do I make the C-x j j prompt dynamically autocomplete? So when I try "qu" emacs autosuggest "query.rb" from my bookmarks , without me having to press tab.

Dynamic autocompletion works when I do C-c p f (projectile find file), so I'm thinking Bookmark+ can be made to behave like that.

sidenote I don't mind installing new packages - just hope they don't conflict with my current set (ivy projectile magit bookmark+ yasnippet robe expand-region counsel).

1 Answer 1


Jumping to a bookmark with Bookmark+ is like doing the same with vanilla Emacs.

Completion of a bookmark name uses standard Emacs function completing-read to read the name. This means that you either have to use a key (e.g. TAB) to initiate completion, or you have to use some completion library that lets you make completing-read initiate completion automatically.

As far as I know (but I could be wrong about this), Icicles is the only completion library that offers this for completing-read.

Other completion libraries typically require the use of some alternative, library-specific completion function. I don't think they can change the behavior of completing-read itself. (Someone can perhaps correct me on this if, say, Helm or Ivy can make existing code that uses completing-read behave as you request.)

If you use Icicles then you can have it start completion automatically when you start typing the bookmark name at the C-j j prompt. To get that auto-completion behavior you need to customize option icicle-incremental-completion to have value always (or any other non-t, non-nil value).

If you want completion behavior that is even more eager than that -- it shows all possible completions (e.g. all bookmark names) even before you start typing at the prompt -- then also set option icicle-show-Completions-initially-flag to non-nil.

Option icicle-incremental-completion-delay is the number of seconds to wait before updating *Completions* incrementally. It has an effect only when the number of completion candidates is greater than the value of option icicle-incremental-completion-threshold.

This doc explains more about this.

In addition, Icicles has specific support for Bookmark+. For example, in Icicle mode, commands such as C-x j j for jumping to a bookmark let you complete against any combination of the bookmark name, the target file or buffer name, and any tags the bookmark might have. (For that you need to set option icicle-show-multi-completion-flag to non-nil.)

What's often called "autocompletion" in Emacs is available with several libraries. auto-complete-mode is one example; company-mode is another. But it typically refers to completing buffer text as you type it, not to completion of input you type into the minibuffer. (Icicles is generally about the latter: minibuffer completion.)

  • Someone care to explain the downvote (5 years later)?
    – Drew
    Commented May 21 at 16:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.