Подтвердить что ты не робот

Изменить стиль отступов R в vim с помощью Vim-R-plugin

Я использую Vim-R-plugin с Vim, чтобы выделить подсветку синтаксиса для моего R-кода. Обычный стиль отступов выравнивает параметры в функции при открытии круглых скобок. Я хотел бы изменить это, чтобы быть больше похожим на код в фигурных скобках, где новые строки имеют отступы вместо пробелов вместо фигурных фигурных скобок.

Мои имена функций, как правило, многословны, а стиль отступа по умолчанию оставляет все мои параметры нажатыми полностью справа от экрана.

Вот несколько примеров:

# Default indentation style
result <- fun(
              par1 = "abc",
              par2 = "def",
              par3 = 3
              )

Желаемый стиль имитирует стиль отступа для циклов for и определений функций.

# Desired indentation style
result <- fun(
  par1 = "abc",
  par2 = "def",
  par3 = 3
)

# Similar to for loop indentation
for(i in 1:10) {
  print(i)
}

# ... and function definitions
fun <- function(par1 = 1) {
 print(par1 + 1)
}

Я посмотрел код Vim-R-plugin, но мне было слишком сложно понять. Есть ли способ изменить его?

4b9b3361

Ответ 1

Если кто-то ищет этот вопрос:

:help r-plugin-indenting

Короткий ответ. В .vimrc добавьте эти строки:

" set vim-r-plugin to 
let r_indent_align_args = 0

" Set vim-r-plugin to mimics ess :
let r_indent_ess_comments = 0
let r_indent_ess_compatible = 0

Отступы будут похожи на OP.

Ответ 2

Взгляните на :help 'cindent' и :help 'smartindent' для стартеров; вы можете легко отформатировать отступ, используя любой из этих двух параметров. Вы также можете попробовать написать свой собственный indentexpr, но это немного улучшилось. Это потребовало бы отладки плагина Vim-R в пользу решения для отступов Vim.