If I do "C-c C-w" (refile), I get the following: NOW: Click <mouse-2> on a completion to select it. In this buffer, type RET to select the completion near point. Possible completions are: done.org/ eraldo.org/ inbox.org/ WANTED: Possible completions are: done.org/ eraldo.org/ inbox.org/ Reference/ In other words... I would like to have a whole directory as one item listed in my refile targets. Greetings from Austria, Eraldo & Lea PS: Another possibility would be to be able to refile to any other place apart from the defined ones via prefix or shortcut.
Hi Eraldo,
I have now read this email about 4 times, and I have not clue
what you are talking about. Please try again.
- Carsten
On Oct 5, 2009, at 12:30 AM, Eraldo Helal wrote:
> If I do "C-c C-w" (refile), I get the following:
>
> NOW:
> Click <mouse-2> on a completion to select it.
> In this buffer, type RET to select the completion near point.
>
> Possible completions are:
> done.org/ eraldo.org/ inbox.org/
>
> WANTED:
> Possible completions are:
> done.org/ eraldo.org/ inbox.org/ Reference/
>
> In other words...
> I would like to have a whole directory as one item listed in my
> refile targets.
>
>
> Greetings from Austria,
> Eraldo & Lea
>
>
> PS:
> Another possibility would be to be able to refile to any other place
> apart from the defined ones via prefix or shortcut.
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Hello, My apologies for a newbie question, but since I upgraded org-mode from the bundled version (6.21 iirc), syntax highlighting is no longer automatic, and when I have loaded my org-file, I have to manually run org-mode-restart for it to kick in. I am sure this is a configuration issue on my part, but I have not been able google my way to a solution. This is running GNU Emacs 23.1.1 (on Windows XP), org-mode version 6.31trans. The org-specific bits in my setup file are: ---- (setq load-path (cons "c:/elisp/org-mode/lisp" load-path)) (setq load-path (cons "c:/elisp/org-mode/contrib/lisp" load-path)) (require 'org-install) ;; The following lines are always needed. Choose your own keys. (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cb" 'org-iswitchb) (org-remember-insinuate) (setq org-directory "d:/My Dropbox/mylog") (setq org-default-notes-file (concat org-directory "/notes.org")) (define-key global-map "\C-cr" 'org-remember) (setq org-remember-templates '(("Todo" ?t "* TODO %?\n %i\n %a" "d:/My Dropbox/mylog/TODO.org" "Tasks") ("Journal" ?j "* %U %?\n\n %i\n %a" "d:/My Dropbox/mylog/JOURNAL.org"))) (global-font-lock-mode 1) ---- Is there something glaringly obvious that is wrong here? Best regards, Helge
| Carsten: "Please try again." > Sure :) ;;sorry about that I happen to have problems explaining... If I am on a headline in an org-mode buffer and do "C-c C-w" (refile) on it... ...and then press TAB twice. I get a completion list buffer that pops up and looks somthing like this: Possible completions are: done.org/ eraldo.org/ inbox.org/ >> showing some files as possible refile targets. What I would like to have is this: Possible completions are: done.org/ eraldo.org/ inbox.org/ Reference/ >> showing the same refile targets plus a directory of my choice! In the meantime I have made some experiments and I could get my directory(name) listed there... ... however that is not of any use since it does not treat it as a directory nor as a file ;; very strange stuff ^^ What is the way to go in order to move a headline to a location that is not listed as a refile target? >> until now what I did is the following: open a new emacs buffer and open the desired file in there or create a new one. ;; C-x C-f go back to the other buffer. ;; C-x o // C-c b // C-x b // Alt+TAB fold up the headline. ;; TAB // TAB TAB cut the headline ;; C-k change buffer again. ;; C-x o // C-c b // C-x b // Alt+TAB paste the headline ;; C-y If there is a better / easier way I would be glad to know :) Thanks for your patience, Eraldo
Eraldo Helal <eraldo@eraldo.at> writes:
> If I am on a headline in an org-mode buffer and do "C-c C-w" (refile) on it...
> ...and then press TAB twice. I get a completion list buffer that pops
> up and looks somthing like this:
>
> Possible completions are:
> done.org/ eraldo.org/ inbox.org/
>
>>> showing some files as possible refile targets.
>
> What I would like to have is this:
>
> Possible completions are:
> done.org/ eraldo.org/ inbox.org/ Reference/
>
>>> showing the same refile targets plus a directory of my choice!
What is Reference/ supposed to be in this case -- a directory? Refiling
only works to headings (or top level headings) in files in org-mode IIRC.
-Bernt
> What is Reference/ supposed to be in this case -- a directory? Refiling
> only works to headings (or top level headings) in files in org-mode IIRC.
Yes it is supposed to be a directory...
I have org files in many directorys... about like so:
reference/emacs/emacs.org
reference/eros/eros.org
reference/Avalon/Avalon.org
reference/Gimp/Gimp.org
reference/office/office.org
reference/home/home.org
reference/poems/poems.org
...
What would be a smart way to get a headline from the file inbox.org
named "* Erich Fried poems" to poems.org?
Considering that poems.org is not part of the agenda nor a refile target.
What I am doing until now is:
folding the headline (tab)
cutting the headline (C-k)
making a split screen (C-x 2)
changing buffer (C-x o)
opening poems.org (C-x C-f "reference/poems/poems.org")
pasting headline (C-y)
changing buffer (C-x o)
removing split view (C-x 1)
Poems.org is not part of the agenda because it is reference material
and not an active file.
It is also not a refile target because I would have to make every .org
file in all subdirectories a refile target and sometimes the
appropriate file does not yet exist, in which case I need to create
it.
Any ideas?
Do I need to further try to make clear what I mean?
Greetings,
Eraldo
On Oct 12, 2009, at 3:48 PM, Eraldo Helal wrote: >> What is Reference/ supposed to be in this case -- a directory? >> Refiling >> only works to headings (or top level headings) in files in org-mode >> IIRC. > Yes it is supposed to be a directory... > > I have org files in many directorys... about like so: > reference/emacs/emacs.org > reference/eros/eros.org > reference/Avalon/Avalon.org > reference/Gimp/Gimp.org > reference/office/office.org > reference/home/home.org > reference/poems/poems.org > ... > > What would be a smart way to get a headline from the file inbox.org > named "* Erich Fried poems" to poems.org? > Considering that poems.org is not part of the agenda nor a refile > target. Well, you need to make it a refile target, that is the whole point of defining refiling targets. If you want, you can make yourself a special refile function that temporarily installs a long list of files in org-refile-targets. You can use `let' to bind org-refile-targets, and directory-files to get the files. For example (untested) (defun my-refile-to-reference () (interactive) (let ((org-refile-targets (list (directory-files "~/Reference/ 'full "*.org") '(:maxlevel . 1)))) (call-interactively 'org-refile))) Would offer all top-level headlines in any org files in the ~/ Reference directory HTH - Carsten > > What I am doing until now is: > folding the headline (tab) > cutting the headline (C-k) > making a split screen (C-x 2) > changing buffer (C-x o) > opening poems.org (C-x C-f "reference/poems/poems.org") > pasting headline (C-y) > changing buffer (C-x o) > removing split view (C-x 1) > > Poems.org is not part of the agenda because it is reference material > and not an active file. > It is also not a refile target because I would have to make every .org > file in all subdirectories a refile target and sometimes the > appropriate file does not yet exist, in which case I need to create > it. > > Any ideas? > Do I need to further try to make clear what I mean? > > Greetings, > Eraldo - Carsten
Am Montag, den 12.10.2009, 15:48 +0200 schrieb Eraldo Helal:
> > What is Reference/ supposed to be in this case -- a directory? Refiling
> > only works to headings (or top level headings) in files in org-mode IIRC.
> Yes it is supposed to be a directory...
>
> I have org files in many directorys... about like so:
> reference/emacs/emacs.org
> reference/eros/eros.org
> reference/Avalon/Avalon.org
> reference/Gimp/Gimp.org
> reference/office/office.org
> reference/home/home.org
> reference/poems/poems.org
> ...
>
> What would be a smart way to get a headline from the file inbox.org
> named "* Erich Fried poems" to poems.org?
> Considering that poems.org is not part of the agenda nor a refile target.
>
> What I am doing until now is:
> folding the headline (tab)
> cutting the headline (C-k)
> making a split screen (C-x 2)
> changing buffer (C-x o)
> opening poems.org (C-x C-f "reference/poems/poems.org")
> pasting headline (C-y)
> changing buffer (C-x o)
> removing split view (C-x 1)
>
> Poems.org is not part of the agenda because it is reference material
> and not an active file.
> It is also not a refile target because I would have to make every .org
> file in all subdirectories a refile target and sometimes the
> appropriate file does not yet exist, in which case I need to create
> it.
>
> Any ideas?
> Do I need to further try to make clear what I mean?
>
> Greetings,
> Eraldo
>
Since having so many targets for refiling slows down refiling a lot, I
do this here.
I've set `org-refile-targets' like this (custom-set-variables):
'(org-refile-targets (quote ((org-agenda-files :maxlevel . 3)
(sr-org-refile-targets :maxlevel . 2))))
In addition, I have this here in my setup:
(defvar sr-org-refile-targets nil
"List of refile targets for Org-remember.
See `org-refile-targets'.")
(defvar sr-org-refile-dir-excludes "^[#\\.].*$")
(defvar sr-org-refile-file-excludes "^[#\\.].*$")
(defun sr-find-org-refile-targets
(&optional recurse dirs file-excludes dir-excludes)
"Fill the variable `sr-org-refile-targets'.
Optional parameters:
recurse If `t', scan the directory recusively.
dirs A list of directories to scan for *.org files.
file-excludes Regular expression. If a filename matches this regular
expression,
do not add it to `sr-org-refile-targets'.
dir-excludes Regular expression. If a directory name matches this
regular expression,
do not add it to `sr-org-refile-targets'."
(let ((targets (or dirs (list org-directory)))
(fex (or file-excludes "^[#\\.].*$"))
(dex (or dir-excludes "^[#\\.].*$"))
path)
(dolist (dir targets)
(if (file-directory-p dir)
(let ((all (directory-files dir nil "^[^#\\.].*$")))
(dolist (f all)
(setq path (concat (file-name-as-directory dir) f))
(cond
((file-directory-p path)
(if (and recurse (not (string-match dex f)))
(sr-find-org-refile-targets t (list path) fex
dex)))
((and (string-match "^[^#\\.].*\\.org$" f) (not
(string-match fex f)))
(setq sr-org-refile-targets (append (list path)
sr-org-refile-targets))))))
(message "Not a directory: %s" path))
)))
(defun sr-add-to-org-refile-targets ( recurse dirs )
"Add a directory to org-refile targets recursively."
(interactive "P\nDdirectory: ")
(sr-find-org-refile-targets
(if recurse t nil)
(list dirs)
sr-org-refile-file-excludes
sr-org-refile-dir-excludes)
(message "org-refile-targets: \n%s" sr-org-refile-targets))
Now I call the function `sr-add-to-org-refile-targets' whenever I need
to add all Org-files in a directory recursively.
Sebastian
Thank you very much for sharing this!
That seems to be more than what I need.
A waaay easier solution would be to be able to refile/save a headline
to a non-predefined target.
> just like it is the case with "find file" (C-x C-f)
in other words: being able to "find a file" to use as refile target
(if it does not exist > create)
Wouldn't that be an awesome option?
Greetings,
Eraldo
Am Samstag, den 17.10.2009, 12:58 +0200 schrieb Eraldo Helal:
> Thank you very much for sharing this!
> That seems to be more than what I need.
>
> A waaay easier solution would be to be able to refile/save a headline
> to a non-predefined target.
> > just like it is the case with "find file" (C-x C-f)
> in other words: being able to "find a file" to use as refile target
> (if it does not exist > create)
>
> Wouldn't that be an awesome option?
Yes.
This does so. Note: there's no testing for the '*.org'
extension and writability...
(defun sr-add-file-to-org-refile-targets ( file )
"Add a single file to org-refile targets. Eventually create it."
(interactive "FNew refile target: ")
(when (not (file-exists-p file))
(access-file file))
(setq sr-org-refile-targets (append (list file)
sr-org-refile-targets))
(message "org-refile-targets: \n%s" sr-org-refile-targets))
HTH
Sebastian
> For example (untested)
>
> (defun my-refile-to-reference ()
> (interactive)
> (let ((org-refile-targets (list (directory-files "~/Reference/ 'full
> "*.org")
> '(:maxlevel . 1))))
> (call-interactively 'org-refile)))
>
> Would offer all top-level headlines in any org files in the ~/Reference
> directory
"directory-files" only outputs directories but no .org files
therefore with the pattern "*.org" as a filter ... nothing is returned!
But I like the idea a lot!
Should "directory-files" list all files inside a directory?
Greetings,
Eraldo