Эти команды должны показывать, где было установлено shiftwidth
:
:set verbose=15
:set shiftwidth
:set verbose=0
Если вы хотите программно что-то сделать с этой информацией, вам нужно redirect
вывести подробный вывод и проанализировать то, что выwant:
:redir => myvariable
:set verbose=15
:set shiftwidth
:set verbose=0
:redir END
myvariable
теперь будет иметь текст, который в противном случае был бы напечатан на экране.
ПЕРЕСМОТРЕННЫЙ ОТВЕТ Вот способ, который, я думаю, вы могли бы сделатьчто вы уточнить в ваших комментариях.
Добавить последнюю строку в пользовательский vimrc, чтобы сохранить текущее значение shiftwidth в глобальной переменной.Значение будет сохранено до загрузки любых плагинов, если только плагины не были явно получены в vimrc перед последней строкой.Затем вы можете сбросить shiftwidth до этого значения в своем собственном плагине.
[everything in vimrc comes before this line]
:let g:vimrc_shiftwidth = &shiftwidth
Вы можете программно добавить эту строку с помощью чего-то вроде команды write >> [file]
.Предположительно, вы бы добавили комментарий, указывающий, какой плагин добавил эту команду в vimrc.Кроме того, я не думаю, что это будет захватывать правильное значение, например, в случае, когда пользователь использует опцию exrc и устанавливает shiftwidth в другом vimrc.В общем, все еще не рекомендуется.