0

I am experimenting with Bookmark+ and would like to be able to navigate to a bookmark using a similar workflow to that which I currently use to navigate bookmarks.

For example, previously in order to navigate to a bookmark I am used to using something like helm-bookmarks, then entering some text which Emacs will use to filter the set of bookmarks to the one I want. If I am explicit enough, the correct bookmark is highlighted at the top of the list as I type, I hit enter and am transported to the bookmark position. All is good.

With Bookmark+ however, I am opening the bookmark list, which I can then filter by typing /<search text>. The matching set of bookmarks is shown to me dynamically, as before (although the UI is different), but the focus does not shift to any of the matching bookmarks. That then entails a number of rapid hits on the down cursor key to go to the bookmark I want.

Is there a way to navigate to a Bookmark+ bookmark in a similar way to that when I use helm-bookmarks (or bookmark-jump for that matter)?

1 Answer 1

0

Bookmark+ does not offer or impose any particular completion mechanism. It uses vanilla Emacs completion functions such as completing-read.

If you have a completion framework, such as Icicles, that can enhance the usual completion functions then it will naturally enhance completion with bookmarks etc. For example, you can then filter completion candidates on the fly, cycle among them, act on any number of them, etc. But that behavior comes from Icicles, not from Bookmark+ itself.

[Icicles and Bookmark+ in fact purposely play well together. There are 168 Icicles commands that are specific to bookmarks, most making use of Bookmark+ features. And in the other sense, there are 5 Bookmark+ commands that are specific to Icicles features (all having to do with Icicles search hits).]

In particular, the bookmark-list display, whether in Bookmark+ or vanilla Emacs, does not introduce anything special for completion or bookmark selection. As you noted, you can dynamically filter the bookmarks shown, but none of them is automatically "selected".

The only sense in which there's an automatic selection is this: if no bookmarks are marked, then actions apply to the bookmark of the current line. In this, and in many other respects, the bookmark listing is like a Dired listing.

If Helm can use regular Emacs bookmarks, providing some completion features that you like, then it should be able to do the same with bookmarks you create with Bookmark+. (But there may be some bookmark types that Helm doesn't recognize and can't handle specifically - dunno.)

You can do a lot without using the bookmark-list display at all. Bookmark+ offers many jump commands that are specific to different contexts and different kinds of bookmark. For example, regardless of what mix of bookmarks you currently have loaded, type-specific jump commands offer candidates of particular types.

"Type" here has a broad meaning, including things like bookmarks that target only the current file or buffer, bookmarks whose names match a given regexp, bookmarks whose tags match a given logical combination (AND, OR, NOT) of tags or a given regexp, etc., as well as bookmarks of a type in the sense of EWW, Info, Dired, autofile, autonamed, temporary, etc. bookmarks.

But you mentioned "navigation", not just completion. Bookmark+ lets you cycle among the bookmarks in a navigation list. You can have any number of navlists, and some are available automatically.

Consult the Bookmark+ doc for more info about what's available.

2
  • Thanks for the comprehensive answer. I now believe what I want is probably supported by one of the jump commands, possibly bmkp-file-jump or bmkp-this-buffer-jump. Jul 2, 2020 at 23:12
  • Glad the info helped.
    – Drew
    Jul 3, 2020 at 0:50

Your Answer

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

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