Изменить стиль отступов 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, но мне было слишком сложно понять. Есть ли способ изменить его?
Ответы
Ответ 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.