[ESS] clash between setwd macro and skeleton-pair

baptiste auguie baptiste.auguie at googlemail.com
Thu Aug 11 00:44:34 CEST 2011


Perfect! Thank you so much.

baptiste

On 11 August 2011 09:02, Vitalie Spinu <spinuvit.list at gmail.com> wrote:
> Ah, sorry,
>
> I see now what you mean by running your macro.
>
> Here is the function which does it the way you like:
>
>
> (defun my-ess-insert-setwd ()
>  (interactive)
>  (let ((this-file (buffer-file-name)))
>    (when this-file
>      (insert (format "setwd(\"%s\")"  (file-name-directory this-file))))
>    ))
>
> Cheers,
> Vitalie.
>
> On Wed, Aug 10, 2011 at 12:26 AM, baptiste auguie
> <baptiste.auguie at googlemail.com> wrote:
>> Thanks Vitalie, this is a very useful tip. I would still like to have
>> the setwd() directive visually present in my script, so that when I
>> run the buffer it will always read/save files in the same directory,
>> say.
>>
>> All the best,
>>
>> baptiste
>>
>> On 10 August 2011 01:48, Vitalie Spinu <spinuvit.list at gmail.com> wrote:
>>> baptiste auguie <baptiste.auguie at googlemail.com> writes:
>>>
>>>
>>> Hi,
>>>
>>> You can use 'ess-use-this-dir' instead of your macro. If I understood
>>> correctly, it does exactly what you want.
>>>
>>> Also note that \C-c\C-s is bound by default to ess-switch-process which is
>>> also very useful if you are  working with multiple processes.
>>>
>>> Vitalie.
>>>
>>>
>>>> Dear emacs gurus,
>>>>
>>>> Thanks to previous tips from this list I've been the .emacs file shown
>>>> below for a while, and I'd like to get rid off an annoying clash in
>>>> it. The first option I have set is to autocomplete matching
>>>> parentheses etc. The last option defines a shortcut for R to setwd(
>>>> ... where the current file actually lives ....), which I find very
>>>> useful. Somehow this last macro is incompatible with the first,
>>>> typically resulting in
>>>>
>>>> setwd("")/Users/auguieba/Documents/")"
>>>>
>>>> Best regards,
>>>>
>>>> baptiste
>>>>
>>>> My .emacs file contains:
>>>>
>>>> (setq ess-eval-visibly-p nil)
>>>>    (setq skeleton-pair t)
>>>>    (global-set-key (kbd "(") 'skeleton-pair-insert-maybe)
>>>>    (global-set-key (kbd "[") 'skeleton-pair-insert-maybe)
>>>>    (global-set-key (kbd "{") 'skeleton-pair-insert-maybe)
>>>>    (global-set-key (kbd "\"") 'skeleton-pair-insert-maybe)
>>>>    (global-set-key (kbd "\'") 'skeleton-pair-insert-maybe)
>>>>    (global-set-key (kbd "\`") 'skeleton-pair-insert-maybe)
>>>>    (global-set-key (kbd "<") 'skeleton-pair-insert-maybe)
>>>>
>>>> (windmove-default-keybindings)
>>>>
>>>> (fset 'my-setwd-macro
>>>>       [?\C-  ?\C-u ?\M-| ?p ?w ?d return ?\C-p ?s ?e ?t ?w ?d ?\( ?\" ?\C-e ?\"
>>>>            ?\)])
>>>>
>>>> (add-hook
>>>>  'ess-mode-hook
>>>>   '(lambda()
>>>>      (define-key ess-mode-map "\C-c\C-s" 'my-setwd-macro)))
>>>>
>>>> ______________________________________________
>>>> ESS-help at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/ess-help
>>>
>>
>



More information about the ESS-help mailing list