emacs-humanities
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [emacs-humanities] How do you use Ebib?


From: Joost Kremers
Subject: Re: [emacs-humanities] How do you use Ebib?
Date: Sun, 28 Feb 2021 14:26:42 +0100
User-agent: mu4e 1.5.8; emacs 27.1.91

Hi Göktuğ,

On Sun, Feb 28 2021, Göktuğ Kayaalp wrote:
> I’ve started moving to Ebib yesterday, and it’s gone fairly smoothly.

Glad to hear that. :-)

> * The behaviour of C-x b was fairly surprising. When I remove the
>   binding it errors because the windows are dedicated windows, which I’m
>   fine with.

Still, it's not the best solution... There was so much that I didn't know about
Emacs and programming in general when I started Ebib that I made some bad
decisions in the design. It would be much better if Ebib's windows were
completely controllable through `display-buffer-alist`.

> * ‘ebib-lower’ was an unexpected behaviour when using ‘f’ (it appears in
>   appears some other functions where it does make sense), so I made this
>   little modification in ‘ebib--call-file-viewer’:

This sounds like a good idea. It might even be possible to make `ebib-lower` the
default value of `ebib-file-view-function`.

>   If you like the idea I could make a PR for it.

Yes, I'd appreciate that.

> * I *love* that ‘ebib-layout’ is a thing!  Rmail really botches this
>   with summary windows, it’s basically impossible to customise the way
>   Rmails windows behave without rewriting it.

That was at the request of a user. It was the first time I learnt about
display-buffer and friends. Actually, it felt more like display-buffer and
accomplices... I didn't get things entirely right that time. There were subtle
bugs that weren't discovered until years later. ;-)

> * I think the example keybindings in ‘(ebib) Modifying Key Bindings’ can
>   be provided as default, at least Magit, Org, and VC.el do those
>   bindings (tho they use C-c C-k instead of C-c C-q), and two of those
>   are in Emacs proper.
>
>   The Emacs manual only forbids modes to use C-c [A-Za-z] anyways (see
>   ‘(emacs) Key Bindings’).

You're probably right. I didn't bind them by default because the key binding
conventions say that "[s]equences consisting of ‘C-c’ followed by a control
character or a digit are reserved for major modes" (where I interpreted "control
character" to mean C-<letter>). But the mode map in which they appear is a minor
mode map...

> On 2021-02-26 19:29 +01, Joost Kremers <joostkremers@fastmail.fm> wrote:
>> I thought I had added a command for it, but I just went back to check and I
>> couldn't find anything either... It's easy to do, however, by editing the 
>> .bib
>> file directly. There's an @Comment in there somewhere near the top that says
>> "ebib-main-file: " followed by the main file's file path. Remove that comment
>> and (re)load the .bib file.
>
> I suppose that would work for converting existing bib files that are
> strict subsets of some other bib file to a dependent one?

Yes, you could simply add that comment and open the file in Ebib. Entries that
are not in the main file won't be read (and will be lost on save!), but you will
get a warning about them in the log buffer, so you can check if everything's OK.

>>>     (defun ebib-set-bibtex-dialect (dialect)
>> I've been going by the idea that a user might want to configure the dialect 
>> for
>> bibtex.el and Ebib separately, which, I admit, is unlikely....
>
> I’d say most often you’d want the same values, but I’ve only scratched
> the surface so far. If you wish I can send the above as a PR as well.

Yes, feel free.

>> It sounds like a very different workflow from what I had in mind when I wrote
>> `ebib-notes.el` and `ebib-reading-list.el`. The Org entries that Ebib 
>> generates
>> can be customised so it may be possible to make it work. One thing to keep in
>> mind is that in order for Ebib to be able to find a note, the note needs the 
>> key
>> as a `Custom_ID` property. So if you want to integrate your existing notes, 
>> this
>> property needs to be added. (The main advantage of that would be that you can
>> jump from Ebib to the note for the current entry.)
>
> That’s nice to know, thanks! I think I’ll leave my existing notes for
> later but I can use this with new notes.

Note that the template isn't a proper Org capture template. That's something I'd
like to implement some day, because it would mean you can customise where
exactly you want to put your notes. Currently, Ebib just puts the note at the
end of the notes file.

>> One thing I wanted to add is that Ebib has a reload command. So if some other
>> plug-in adds entries to your `.bib` file, you only need to press `r` in Ebib 
>> to
>> see them.
>
> Thanks! I wouldn’t have found this! FWIW, I’d expect this to be bound to
> ‘g’, like in Dired, Rmail, etc.

Yeah, I guess that would make sense... I'm too much used to `g`/`G` for
`beginning|end-of-buffer` to change that, though. (Don't ask me where I got
those from, though. Initially, some of Ebib's key bindings were inspired by
mutt, which, unbeknownst to me at the time, were inspired by vim's. For the
longest time, j/k used to move down/up. :-D But mutt doesn't use `g`/`G` in this
way.)

-- 
Joost Kremers
Life has its moments



reply via email to

[Prev in Thread] Current Thread [Next in Thread]