>I'm sitting in front of a large document in LyX right
>now and need to jump back and forth quite often.
>Now what I'm missing (besides the whole vi bindings)
>is vi's ability to mark line numbers (m-command). I
>find this very useful for hopping around visiting
>other sections in my document and returning quickly
>to where I'm working by just pressing " '[buffer] ".

We have Navigate->Bookmarks for this. I don't know whether that is
approximately the same as the vi behaviour. Furthermore, we have now a
jump back button.

>Scrolling is quite painful, very slow and - when
>working inside floats _very_ unreliable. Using the
>Navigate-menu is fine, but does only work well for
>short sections; when I need to jump to the middle of
>some paragraph, I'm lost using pg{down,up}.

I've recently changed the scrolling such that when pressing the same
number of PgDowns and PgUps the cursor would end up in exactly the same
position as before.

Moreover, I've proposed a new scrolling algorithm that is faster (and
hopefully better) and I'm planning to attack the problem of scrolling
and Insets in the near future.

>Is there an "easy" way to implement stuff like that?

The scrolling part is a bit difficult to understand (at least it was for
me), and as I already mentioned, the stuff with cursor placement and
Insets is still a bit messy. Besides that, it depends a bit on you and
your plans whether it's "easy".

>After all these vi-discussions, has anybody measured the
>necessary work?

Probably not. I also (re)implemented the "screen-recenter" feature that
people were used to in vi.

>Is anybody actually working on it right now?

I don't think so (besides the things I mentioned above).

>Where in the source should I start?

The scrolling stuff is mainly in BufferView.cpp. Search for things like:
LFUN_SCREEN_RECENTER, LFUN_SCREEN_SHOW_CURSOR, LFUN_SCREEN_UP/DOWN and
in LyXFunc.cpp (beware, this code is not at the right place) for
gotoBookmark() and LFUN_BOOKMARK_GOTO..

> Ullrich Franke

Vincent

Reply via email to