Сначала добавьте в свой файл vimrc
следующие две строки:
filetype indent off
filetype plugin indent off
Тогда вы должны надеяться, что это сработает!Но есть большая вероятность, что это не будет ...
Если решение не работает, вам, возможно, придется сделать довольно сложные действия, чтобы решить проблему.
Проблема в том, что многиеиз ваших опций vim постоянно меняются многие триггеры и авто команды.Единственный способ, который я нашел, - пометить важные параметры (параметры, которые я не хочу менять) специальным символом, а затем принудительно восстановить их после любого возможного воздействия.Итак, я сделал следующее в своем vimrc
:
augroup MyVimrc
autocmd!
augroup END
"The options I want to keep unchanged, I mark with the “❗” symbol.
"The usual exclamation sign “!” will work as well.
"Of course, you’re free using any other symbol you like,
"but don’t forget the lambda-function in the hack below.
"These are the options that may influence on the indent.
set formatoptions=j "❗
set autoindent "❗
set nosmartindent "❗
set indentexpr= "❗
set copyindent "❗
set preserveindent "❗
"And I marked with the same way a number of other
"important (for me) options… (not shown here)
"At the bottom of the vimrc file, I wrote this dirty hack.
function! s:keep_options()
for line in filter(readfile($MYVIMRC), 'v:val =~ ''\v\".*(!|❗)\s*$''')
exe line
endfor
endfunction
command! KeepOptions call <SID>keep_options()
"Note, the “OptionSet” trigger doesn’t work always, so that I preferred “BufEnter”.
autocmd MyVimrc BufEnter * KeepOptions
И все неприятности с непредсказуемыми изменениями в моих настройках, наконец, прошли.