I use `org-babel-next-src-block' and `org-babel-previous-src-block'  to go up and down and rely on the org folding. Not a streamlined approach but it works because I use it rarely.

On Tue, Dec 16, 2014 at 6:01 AM, Oleh <ohwoeowho@gmail.com> wrote:
Hi Dmitry,

> I would like to implement the following. Suppose, we have this org file:
>
> #+BABEL: :cache yes :tangle yes :noweb yes
>
> #+NAME: top_block
> #+begin_src perl :tangle "test.pl" :noweb tangle :shebang #!/usr/bin/perl
>   use strict;
>   use warnings;
>
>   open(my $fh, "<", "test.txt")
>       or die "cannot open < file name: $!";
>   <<output-all>>
>   close($fh);
> #+end_src
>
> #+NAME: output-all
> #+begin_src perl
>   while (my $line = <$fh>) {
>       print $line;
>   }
> #+end_src
>
> I can expand/collapse src blocks only when the cursor is on the top lines:
>
>
> #+NAME: top_block
> #+begin_src perl ...
>
> But when it is inside any text in the scr block, expand/collapse doesn't
> work. How can I add this functionality as moving the cursor every time is
> not nice.

There's a feature like this in https://github.com/abo-abo/worf
(installable also from MELPA).

If you're in a source block, "[" will bring you to its start, and "i"
will hide/unhide it.

You can use "j"/"k"/"i" to quickly navigate and fold many source
blocks within one heading.

regards,
Oleh



--
Grant Rettke
gcr@wisdomandwonder.com | http://www.wisdomandwonder.com/
“Wisdom begins in wonder.” --Socrates
((λ (x) (x x)) (λ (x) (x x)))
“Life has become immeasurably better since I have been forced to stop taking it seriously.” --Thompson