2012-10-09 42 views
19

Tôi muốn biết làm thế nào tôi có thể thay đổi thụt đầu dòng trong emacs ess. Tôi thường thích chế độ mặc định (kiểu chữ 'C++' yên tĩnh) Nhưng đôi khi nó có định dạng rất kỳ lạ. Ví dụ đây là những gì tôi muốn làm, và điều này sẽ là định dạng mặc định nếu nó không phải là một phần của chức năng:thay đổi thụt lề trong emacs ess

ggplot(data = overtime.by.month, 
     aes(x="", 
      y=Percent, 
      fill = Overtime)) + 
    geom_bar(width = 1) + 
    xlab('') + 
    ylab(sub.txt) + 
    labs(title = title.txt) + 
    facet_wrap(~Year.Month) + 
    geom_text(aes(y = txt.pos, label = Per.txt)) + 
    coord_polar(theta = "y") + 
    scale_fill_manual(values = c('green', 'red')) + 
    theme(axis.ticks = element_blank(), 
     axis.text.y = element_blank(), 
     axis.text.x = element_blank()) 

Đây là những gì tôi nhận được với phong cách thụt đầu dòng hiện tại, nếu tôi đặt nó bên trong chức năng.

a <- function(){ 

    a <- ggplot(data = overtime.by.month, 
       aes(x="", 
        y=Percent, 
        fill = Overtime)) + 
         geom_bar(width = 1) + 
          xlab('') + 
           ylab(sub.txt) + 
            labs(title = title.txt) + 
             facet_wrap(~Year.Month) + 
              geom_text(aes(y = txt.pos, label = Per.txt)) + 
               coord_polar(theta = "y") + 
                scale_fill_manual(values = c('green', 'red')) + 
                 theme(axis.ticks = element_blank(), 
                   axis.text.y = element_blank(), 
                   axis.text.x = element_blank()) 
} 

CẬP NHẬT: Tôi đã theo dõi cả đề xuất của VitoshKa và Dirk, sau khi cài đặt lại và cập nhật .emacs đã biến mất. Cảm ơn các bạn

UPDATE2: Sự cố đã xảy ra. Tôi nghĩ bây giờ nó sẽ được tái sản xuất cho tất cả. Tôi đã thử trên hai máy khác nhau. Nó xảy ra khi bạn đặt mã bên trong hàm. Tôi đã cập nhật bài đăng để phản ánh các thay đổi.

+2

Vui lòng xem [giải pháp này] (https://github.com/emacs-ess/ESS/issues/99) nếu bạn vẫn gặp sự cố. – gongzhitaao

Trả lời

8

tôi nhận được

ggplot(data = overtime.by.month, 
     aes(x="", 
      y=Percent, 
      fill = Overtime)) + 
    geom_bar(width = 1) + 
    xlab('') + 
    ylab(sub.txt) + 
    labs(title = title.txt) + 
    facet_wrap(~Year.Month) + 
    geom_text(aes(y = txt.pos, label = Per.txt)) + 
    coord_polar(theta = "y") + 
    scale_fill_manual(values = c('green', 'red')) + 
    theme(axis.ticks = element_blank(), 
      axis.text.y = element_blank(), 
      axis.text.x = element_blank()) 

và tôi sử dụng giá trị mặc định thẳng ra khỏi hướng dẫn sử dụng R.

;; R-internals manual 
;;; ESS 
(add-hook 'ess-mode-hook 
     (lambda() 
     (ess-set-style 'C++ 'quiet) 
     ;; 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 
(add-hook 'perl-mode-hook 
     (lambda() (setq perl-indent-level 4))) 

Bạn có thể sửa đổi các giá trị đó trong nhận xét.

+0

Dirk, câu hỏi nhanh như thế nào tôi sẽ sửa đổi các giá trị trong bình luận? chỉ cần bỏ nhận xét và thay đổi? – ilya

+1

Nói chung, '(setq một số giá trị mới biến)' và sau đó bạn muốn đánh giá điều đó, hoặc bắt buộc khởi động lại Emacs. –

+0

Dirk, bạn có thể vui lòng xem bài cập nhật. – ilya

6

Tôi cũng không thấy sự cố của bạn. Cố gắng cập nhật, nó có thể là một lỗi cũ.

Trong mọi trường hợp C-c. cho phép bạn thay đổi phong cách thụt đầu dòng khi đang di chuyển. Đề nghị là RRR.

Các vấn đề liên quan