Hi Nicolas, On Tue, Sep 10, 2013 at 06:33:16PM +0200, Nicolas Goaziou wrote: > > Suvayu Ali writes: > > > On Tue, Sep 10, 2013 at 11:02:35AM +0200, Carsten Dominik wrote: > >> > >> And by linear, I think we don't mean strictly linear, but on a > >> paragraph/table/item scale, ignoring hierarchy. > > > > Yes. However I think I differ a bit on items. For me in a list like > > the following, I would call moving by paragraphs _within_ the list items > > linear; so, "Lorem..." → "Cras..." → "Integer..." → "Aenean..." → > > "Pellentesque...", and so on. > > Here's a first draft for the linear forward motion. Disclaimer: I didn't > test it thoroughly. > > (defun org-forward-linear-element () Some comments and a backtrace (I used the corrected 2nd revision): 1. When traversing the file header, goes one line at a time. I would expect to go to the next blank line. In the attached Org file, from somewhere on #+TITLE to the blank line before the first headline. 2. Skips whole source block even if there are blank lines. So can't navigate large source blocks for small edits. Try on the python source block under the first headline. 3. Goes through each row of a table instead of going over the table in one go. Start with cursor on "From ConDBBrowser:". 4. Skips the whole body under a headline when followed by link. Try putting point on the headline "Important points" and move; you will jump to "Tagging Issues" instead of the link and the list after. How can I test going backward? -- Suvayu Open source is the future. It sets us free.