2015-02-19 12 views
15

Ví dụ, vim sẽ không thụt lề một cách chính xác đoạn mã sau:Làm cách nào để tôi có thể thực hiện mã dplyr vim indent bằng toán tử đường ống (%>%) một cách chính xác?

flights <- flights %>% 
    group_by(year, month, day) %>% 
    select(arr_delay, dep_delay) %>% 
    summarise(
     arr = mean(arr_delay, na.rm = TRUE), 
     dep = mean(dep_delay, na.rm = TRUE) 
    ) %>% 
    filter(arr > 30 | dep > 30) 

Có cách nào để sửa lỗi này?

Tôi đang sử dụng số Vim-R-Plugin, sự cố có liên quan là here.

+0

bạn đang sử dụng ': set smartindent'? – rawr

+0

@rawr: vâng, tôi có. – enricoferrero

Trả lời

1

Một điều bạn có thể làm là học vimscript và tự sửa đổi hành vi này. Nếu nó hoạt động tốt, bạn có thể đóng góp thay đổi cho tác giả gốc.

Tôi bắt đầu theo cách này nhưng cuối cùng đã viết mã thụt lề của riêng tôi từ đầu làm mọi thứ theo cách tôi thích. Tôi đã nói chuyện với tác giả R plugin về việc thay thế mã của anh ấy với tôi nhưng mã của tôi có một vài lỗi mà tôi chưa bao giờ dành thời gian để tìm và điều đó không làm phiền tôi nhiều lắm (nó bị kẹt nếu bạn có một dấu ngoặc nhọn chưa từng có , ví dụ). Tôi không bao giờ có động cơ để làm sạch nó lên phần còn lại của con đường và cố gắng và nhận được nó vào kho VIM.

Để trả lời truy vấn của bạn, I have put my code on github. Bạn có thể thử sử dụng mã thụt lề của tôi thay vì mã r-plugin nếu bạn muốn. Nó có thể hoặc không thể giải quyết vấn đề của bạn (không hứa hẹn). Nếu tôi có động cơ đủ, tôi có thể sửa nó đủ để chúng tôi có thể biến nó thành mã thụt lề mặc định.

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