From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: anyway to create link to a line number in a file Date: Sat, 18 Feb 2012 16:58:05 -0500 Message-ID: <4472.1329602285@alphaville> References: <9088.1329586287@alphaville> Reply-To: nicholas.dokos@hp.com Return-path: Received: from eggs.gnu.org ([140.186.70.92]:56506) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RysIP-0007RA-CN for emacs-orgmode@gnu.org; Sat, 18 Feb 2012 16:58:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RysIO-0000cF-6J for emacs-orgmode@gnu.org; Sat, 18 Feb 2012 16:58:21 -0500 Received: from g1t0029.austin.hp.com ([15.216.28.36]:20049) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RysIN-0000aN-W2 for emacs-orgmode@gnu.org; Sat, 18 Feb 2012 16:58:20 -0500 In-Reply-To: Message from Nick Dokos of "Sat, 18 Feb 2012 12:31:27 EST." <9088.1329586287@alphaville> 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: Not To Miss Cc: nicholas.dokos@hp.com, emacs-orgmode@gnu.org Nick Dokos wrote: > Not To Miss wrote: > > > I looked that section carefully and the whole manual briefly. I > > haven't found anything yet. That's why I am asking on the mailing list > > to see if anyone has some workaround. > > > > On Sat, Feb 18, 2012 at 9:03 AM, Sean O'Halpin wrote: > > > On Fri, Feb 17, 2012 at 4:54 PM, Not To Miss wrote: > > >> Hi all, > > >> > > >> I am reading a long text file and want to write down my notes with > > >> org-mode. I extremely would like to put the line numbers down along > > >> with my notes. Although there is a way to store a link for text search > > >> for the current line, I haven't found a way to create a link to a line > > >> number in the current buffer. Is there anyway to do that? Thanks > > > > > > Take a look at org-capture: http://orgmode.org/manual/Capture.html > > The problem is to make sure org-store-link will actually store the line > number (along with everything else) so that then org-insert-link can > insert the link in the proper format. I don't think there is a function > to do that out of the box for line numbers, but you can easily (for some > value of "easily") write your own. Look in > > (info "(org)Adding hyperlink types") > > for some hints. Briefly, you write a function that checks whether it > wants to deal with the link or not, and you add it to > org-store-link-functions. I don't have the time to try it out right now, > but I believe this should work for what you want. > Following up on this, the following seems to work, although you probably want to tweak the criterion of when you want *this* function to take care of links - this particular implementation only applies the line number treatment to links generated in the file named "/path/to/the.file.txt" and only that file: --8<---------------cut here---------------start------------->8--- (defun org-file-lineno-store-link() (when (string-equal (buffer-file-name) "/path/to/the.file.txt") (let* ((link (format "file:%s::%d" (buffer-file-name) (line-number-at-pos)))) (org-store-link-props :type "file" :link link)))) (add-hook 'org-store-link-functions 'org-file-lineno-store-link) --8<---------------cut here---------------end--------------->8--- Nick