From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jude DaShiell Subject: Re: [code] Small elisp snippet to search among toplevel headlines in a file Date: Sat, 4 Feb 2012 23:03:57 -0500 (EST) Message-ID: References: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Return-path: Received: from eggs.gnu.org ([140.186.70.92]:39458) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RttKZ-0005KM-Vz for emacs-orgmode@gnu.org; Sat, 04 Feb 2012 23:04:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RttKY-0001WU-Eo for emacs-orgmode@gnu.org; Sat, 04 Feb 2012 23:03:59 -0500 Received: from shellworld.net ([69.60.117.94]:56225 helo=server1.shellworld.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RttKY-0001Rm-Bm for emacs-orgmode@gnu.org; Sat, 04 Feb 2012 23:03:58 -0500 In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Marc-Oliver Ihm Cc: emacs-orgmode@gnu.org Another possible idea may be to write project titles in bold while on headlines. That way all you need search for is the beginning of a line followed by a single * followed by a blank followed by the opening mark for bolding and if this is only done with project titles you got yourself an index.On Sat, 4 Feb 2012, Marc-Oliver Ihm wrote: > Hello, > > I have one big org-file for a lot of smaller projects, > each of them represented by a toplevel item. > > And I have difficulties finding them quickly: > In most cases I know a buzzword from the headline; > however, if I do a search-forward I normally find > some other text within the body of an unrelated project > further above in the file; and only after several > repetitions of search I find the toplevel heading > (i.e. the project) I was looking for. > > To make it easier to search only among toplevel headings > (i.e. among the the titles of my projects), > I wrote this small piece of elisp, > which lives in my initialization-file (e.g. .emacs): > > (define-key org-mode-map > [(f11)] > (lambda () (interactive) > (progn > (occur (concat "^\\* .*" > (read-from-minibuffer > "Occur for toplevel headlines containing: ")) > nil) > (pop-to-buffer "*Occur*") > (use-local-map (copy-keymap (current-local-map))) > (local-set-key (kbd "RET") > (lambda () (interactive) > (progn > (occur-mode-goto-occurrence) > (delete-other-windows))))))) > > > To find a project I just press f11 (please choose your own key) and > enter a keyword to do an occur for this keyword. Normally several toplevel > headings are found and the right one is chosen by typing return. > > I hope, that someone might find this useful too. > > with kind regards, Marc-Oliver Ihm > > > > ---------------------------------------------------------------- Jude