This kind of repeated command seems to be a good application for hydra.

On Sunday, March 29, 2015, Kyle Meyer <k...@kyleam.com> wrote:

> Jacob Gerlach <jacobgerl...@gmail.com <javascript:;>> wrote:
> > Hi List,
> >
> > I often find myself wanting to move up by several headings:
> >
> > C-c C-p, C-c C-p, C-c C-p...
> > (I don't usually know ahead of time how many I want to move, so I
> > can't use a numeric prefix arg)
> >
> > I like how `set-mark-command' works with non-nil `set-mark-repeat-pop'
> > to avoid the need to repeat a prefix key and wanted to try something
> > similar for C-p. I came up with the following:
> >
> > (define-key org-mode-map
> >  (kbd "C-p")
> >  (lambda (arg)
> >    (interactive "p")
> >    (if (not (eq last-command 'org-previous-visible-heading))
> >        (previous-line arg)
> >      (org-previous-visible-heading arg)
> >      (setq this-command 'org-previous-visible-heading))))
> >
> > So now I can do:
> > C-c C-p, C-p, C-p...
> > And repeatedly move by headlines.
>
> With org-use-speed-commands set to t, this could be "C-c C-p p p".
>
> --
> Kyle
>
>

-- 
John

-----------------------------------
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu

Reply via email to