Here is a helm approach that seems like what you want. #+BEGIN_SRC emacs-lisp (defun tag-lister () "Function that gets and returns possible tags." (list "tag1" "tag2" "tag3"))
(defun helm-tagger () (interactive) (helm :sources `((name . "HELM tag setter") (candidates . ,(tag-lister)) (action . (lambda (candidate) (org-set-tags-to (helm-marked-candidates))))))) #+END_SRC Xebar Saram writes: > Hi guys > > i have a bunch of tags i define via > > (:startgroup) > ("Where?") > (:grouptags) > ("@home" . ?h) > ("@work" . ?w) > ("@pc" . ?p) > ("@family" . ?f) > ("@shop" . ?s) > (:endgroup) > > (:startgrouptag) > ("people") > (:grouptags) > ("allan" . ?a) > ("bob" . ?o) > ("joel" . ?j) > ("david" . ?d) > ("boris" . ?b) > ("massimo" . ?s) > (:endgrouptag) > > anyone know of a way to quick add tags via a helm/avy interface? > > right now its quite cumbersome to press C-c then C-c to see a list of all > tags. also some tags have the same key (?a) and then its impossible to > select the 2nd one > > thx alot in advance > > Z -- 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