[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