Using Thorsten's suggestiontom <scrawler@gmail.com> writes:
> this
>
> (setq org-link-abbrev-alist
> '(("foo" . "file:/path/to/%s.txt")))
>
> allow me to do this
>
> [[foo:file to open]]
>
> but it creates a file with spaces in the name. so I'd like to replace "%s" with "%(myfun)".
>
> with your example, how can I get "foo bar loo" from
>
> [[foo:foo bar loo]]
>
> see what I mean?
>
--8<---------------cut here---------------start------------->8---
(setq org-link-abbrev-alist
'(("foo" . "file:/path/to/%(foobar).txt")))
(defun foobar (x)
(replace-regexp-in-string "[[:space:]]" "_" x))
--8<---------------cut here---------------end--------------->8---
will turn
[[foo:foo bar loo]]
to
[[file:/path/to/foo_bar__loo.txt]]
when you click on it.
--
Nick