[R-br] ESS do emacs indentando o código - desabilitar

Fernando Mayer fernandomayer em gmail.com
Terça Fevereiro 10 20:54:52 BRST 2015


Tente instalar a versão em desenvolvimento. Primeiro desinstale o ESS atual
com o aptitude, depois faça:

wget https://github.com/emacs-ess/ESS/archive/master.zip
unzip master.zip
mv ESS-master ~/.emacs.d/

Apague todo o conteúdo (relacionado ao ESS) do ~/emacs.d/init.el e coloque
isso no lugar:

;; add ~/.emacs.d/ to the load-path

(add-to-list 'load-path "~/.emacs.d/")

;; calls ess

(load "~/.emacs.d/ESS-master/lisp/ess-site")
(require 'ess-site)
(setq-default ess-dialect "R")

;; show function arguments in ESS buffers
(require 'ess-eldoc)

;; Recommended customizatios found in "R Internals" manual
;; http://cran.r-project.org/doc/manuals/R-ints.html#R-coding-standards
;;......................................................................

;; C code
(add-hook 'c-mode-hook
	  (lambda () (c-set-style "bsd")))

;; ESS code
(add-hook 'ess-mode-hook
	  (lambda ()
	    (ess-set-style 'RRR) ; C++ is default. See ess-custom.el
	    ;; Because
	    ;;                                 DEF GNU BSD K&R C++
	    ;; ess-indent-level                  2   2   8   5   4
	    ;; ess-continued-statement-offset    2   2   8   5   4
	    ;; ess-brace-offset                  0   0  -8  -5  -4
	    ;; ess-arg-function-offset           2   4   0   0   0
	    ;; ess-expression-offset             4   2   8   5   4
	    ;; ess-else-offset                   0   0   0   0   0
	    ;; ess-close-brace-offset            0   0   0   0   0
	    (add-hook 'local-write-file-hooks
		      (lambda ()
			(ess-nuke-trailing-whitespace)))))
(setq ess-nuke-trailing-whitespace-p 'ask)
;; or even
;; (setq ess-nuke-trailing-whitespace-p t)

;; Perl code
(add-hook 'perl-mode-hook
	  (lambda () (setq perl-indent-level 4)))





---
Fernando de Pol Mayer
Laboratório de Estatística Ambiental - LEA
Instituto de Matemática, Estatística e Física - IMEF
Universidade Federal do Rio Grande - FURG
URL: http://fernandomayer.github.io
e-mail: fernando.mayer [@] {gmail.com, furg.br}

On Tue, Feb 10, 2015 at 8:30 PM, Marcelo Laia <marcelolaia em gmail.com> wrote:

> GNU Emacs 24.4.1
> ESS 14.09-1
> R version 3.1.1 (2014-07-10)
>
> Todos instalados via aptitude
>
> Eu coloquei esses códigos para retirar a indentação, mas não retirou.
>
> Ai, eu exclui o init.el e o sintoma continua. Parece que é algo global!
>
> Laia
>
> On 10/02/15 at 08:26pm, Fernando Mayer wrote:
> > Qual a versão do Emacs, ESS e R? Como você instalou o ESS (via apt,
> github,
> > ...)?
> >
> > Aqui uso
> >
> > Emacs 24.3.1
> > ESS 14.11 (versão em desenvolvimento no github)
> > R 3.1.2
> >
> > e funciona normalmente. Basicamente não precisaria de mais nada no .emacs
> > para ele funcionar de maneira padrão...
> >
> >
> >
> >
> > ---
> > Fernando de Pol Mayer
> > Laboratório de Estatística Ambiental - LEA
> > Instituto de Matemática, Estatística e Física - IMEF
> > Universidade Federal do Rio Grande - FURG
> > URL: http://fernandomayer.github.io
> > e-mail: fernando.mayer [@] {gmail.com, furg.br}
> >
> > On Tue, Feb 10, 2015 at 8:08 PM, Marcelo Laia <marcelolaia em gmail.com>
> wrote:
> >
> > > Uso o Emacs com ESS para rodar meus scripts. No entanto, a partir de
> > > uma atualização do sistema (tive que instalar o Debian do zero), ele
> > > passou a indentar tudo.
> > >
> > > Algo do tipo:
> > >
> > > xyplot(Morte ~ log10(Dose)|Isolado, data = data01)
> > >
> > > Se eu clicar no final da linha acima e der enter, acontece o seguinte:
> > >
> > >                xyplot(Morte ~ log10(Dose)|Isolado, data = data01)
> > >                [local do cursos]
> > >
> > > Ele indenta a linha 14 colunas a frente e o curso vai para logo abaixo
> > > da primeira letra da linha.
> > >
> > > Já inseri os códigos abaixo no meu ~/emacs.d/init.el e nada de
> resolver.
> > >
> > > (setq-default indent-tabs-mode nil)
> > > (setq auto-indent-assign-indent-level-variables nil)
> > > (setq standard-indent 2)
> > >
> > > (which-func-mode)
> > > (add-to-list 'which-func-modes 'ess-mode)
> > >
> > > (setq-default mode-line-format
> > >  '("L%l C%c %b"
> > >    global-mode-string " (" mode-name minor-mode-alist "%n)"
> > >    (which-func-mode (" " which-func-format ""))))
> > >
> > > (add-hook 'ess-mode-hook
> > >           (lambda ()
> > >             (local-set-key (kbd "RET") 'newline)))
> > >   (setq ess-ask-for-ess-directory nil)
> > >   (setq ess-local-process-name "R")
> > >   (setq ansi-color-for-comint-mode 'filter)
> > >   (setq comint-prompt-read-only t)
> > >   (setq comint-scroll-to-bottom-on-input t)
> > >   (setq comint-scroll-to-bottom-on-output t)
> > >   (setq comint-move-point-for-output t)
> > >
> > >   (defun my-ess-start-R ()
> > >     (interactive)
> > >     (if (not (member "*R*" (mapcar (function buffer-name)
> > > (buffer-list))))
> > >       (progn
> > >         (delete-other-windows)
> > >         (setq w1 (selected-window))
> > >         (setq w1name (buffer-name))
> > >         (setq w2 (split-window w1))
> > >         (R)
> > >         (set-window-buffer w2 "*R*")
> > >         (set-window-buffer w1 w1name))))
> > >
> > >   (defun my-ess-eval ()
> > >     (interactive)
> > >     (my-ess-start-R)
> > >     (if (and transient-mark-mode mark-active)
> > >         (call-interactively 'ess-eval-region)
> > >       (call-interactively 'ess-eval-line-and-step)))
> > >
> > >   (add-hook 'ess-mode-hook
> > >             '(lambda()
> > >                (local-set-key [(shift return)] 'my-ess-eval)))
> > >
> > >   (add-hook 'inferior-ess-mode-hook
> > >             '(lambda()
> > >                (local-set-key [C-up] 'comint-previous-input)
> > >                (local-set-key [C-down] 'comint-next-input)))
> > >   (require 'ess-site)
> > >
> > >
> > >   (add-hook 'ess-mode-hook
> > >             '(lambda ()
> > >                (outline-minor-mode)
> > >                (setq outline-regexp "\\(^#\\{4,5\\}
> > > \\)\\|\\(^[a-zA-Z0-9_\.]+ ?<- ?function(.*{\\)")
> > >                (defun outline-level
> > >                  (lambda () (interactive) (cond ((looking-at "^##### ")
> > > 1)((looking-at "^#### ") 2)((looking-at "^[a-zA-Z0-9_\.]+ ?<-
> > > ?function(.*{") 3) (t 1000)))
> > >                )))
> > >
> > > Alguma luz?
> > >
> > > --
> > > Marcelo
> > > _______________________________________________
> > > R-br mailing list
> > > R-br em listas.c3sl.ufpr.br
> > > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> > > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> > > código mínimo reproduzível.
> > >
>
> > _______________________________________________
> > R-br mailing list
> > R-br em listas.c3sl.ufpr.br
> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
>
> --
> Marcelo
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150210/064976ad/attachment.html>


Mais detalhes sobre a lista de discussão R-br