From: Bernd Weiss <bernd.weiss@uni-koeln.de>
To: Dan Davison <dandavison7@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: [org-babel] Using the power of ESS inside an R source code block
Date: Tue, 26 Oct 2010 20:35:59 -0400 [thread overview]
Message-ID: <4CC773EF.3010202@uni-koeln.de> (raw)
In-Reply-To: <87tyk9f3sb.fsf@gmail.com>
Am 26.10.2010 10:05, schrieb Dan Davison:
[...]
>>> Am 24.10.2010 05:44, schrieb Bernd Weiss:
[...]
>>>> Dear all,
>>>>
>>>> Yesterday, I spent some time (re-)discovering the power of org-babel
>>>> and R. Everything works well but there is one issue that I find
>>>> somewhat annoying (I apologise if this word is too rude).
>
> Not at all. Good to know what drawbacks users are encountering. I'm
> happy to report that all three of the things you mention are now
> possible in the Org buffer. You will need to be using a recent version
> of Org-mode (i.e. from within the last few weeks).
Hi Dan & Eric,
Again (and now on-list), thanks a lot for your reply and your help!
>>>> As a
>>>> long-time ESS user I wish that I could use things like ESS syntax
>>>> highlighting,
>
> This, as Eric mentioned, is turned on with
> `org-src-fontify-natively'. However from your config below it seems you
> have set this variable. So that requires some explanation -- please let
> us know if syntax highlighting in the Org buffer is working for you or
> not.
Yes, syntax highlighting seems to be work as expected.
>>>> indentation
>
> Setting `org-src-tab-acts-natively' causes TAB to have the indenting
> effect that you would get in an ESS buffer.[2]
That also works.
I only have a very (very) basic knowledge of elips. So, I guess it is
possible to change the "depth" of indentation. The current indentation
behaviour is as follows:
#+BEGIN_SRC R :results output :exports results
library(MASS)
plot(1,1)
for(i in 1:10){
print(i)
}
[...]
However, I would prefer...
#+BEGIN_SRC R :results output :exports results
library(MASS)
plot(1,1)
for(i in 1:10){
print(i)
}
[...]
> Beyond these two variables, there is a general method that addresses the
> issues you are raising. It involves using the function
> `org-babel-do-key-sequence-in-edit-buffer'. For example, here is how to
> make C-M-\ perform language-specific indentation on the active region in
> the source block:
>
> (defun dan/org-indent-region ()
> (interactive)
> (or (org-babel-do-key-sequence-in-edit-buffer "\C-\M-\\")
> (indent-region)))
>
> (define-key org-mode-map "\C-\M-\\" 'dan/org-indent-region)
>
>
>>>> or some keybindings (e.g. for "<-") inside
>>>> an R source code block.
>
> This one can be done with
>
> (defun dan/org-underscore-command ()
> (interactive)
> (or (org-babel-do-key-sequence-in-edit-buffer "_")
> (org-self-insert-command 1)))
>
> (define-key org-mode-map "_" 'dan/org-underscore-command)
>
> And another one that you may like is for commenting code:
>
> (defun dan/org-comment-dwim (&optional arg)
> (interactive "P")
> (or (org-babel-do-key-sequence-in-edit-buffer "\M-;")
> (comment-dwim arg)))
>
> (define-key org-mode-map "\M-;" 'dan/org-comment-dwim)
>
>
> I hope the above supplies the missing functionality.
>
> Dan
Puh, as I told you I only have a very basic understanding of elisp... If
I do a simple copy and paste, I see this error: "Symbol's value as
variable is void: org-mode-map". I also guess that I should change
"dan/org-underscore-command"...
However, you should not care about my little elips problems. You were
really helpful in solving my most important problems!
Thanks,
Bernd
next prev parent reply other threads:[~2010-10-27 0:36 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-24 9:44 [org-babel] Using the power of ESS inside an R source code block Bernd Weiss
2010-10-24 10:12 ` Bernd Weiss
2010-10-25 14:29 ` Eric Schulte
2010-10-26 14:05 ` Dan Davison
2010-10-27 0:35 ` Bernd Weiss [this message]
2010-10-27 7:51 ` Sébastien Vauban
2010-10-27 8:54 ` Dan Davison
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CC773EF.3010202@uni-koeln.de \
--to=bernd.weiss@uni-koeln.de \
--cc=dandavison7@gmail.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.