Я отвечаю на ваш заголовок, а не на основной текст вашего вопроса, поскольку ваш заголовок приводит на эту страницу людей, которые хотят помешать Vim оставлять комментарии.
Переменная, определяющая, будет ли Vim автоматически вставлять новый символ, indentkeys
. Я заметил неправильный отступ только в Python и Yaml, поэтому я отключил авто-отступ только для символа "#" в начале строки: :set indentkeys-=0#
Так как при загрузке плагина отступа для типа файла будут отменены любые настройки .vimrc, вы можете установить autocmd
для изменения отступов после создания или загрузки файла. Вот мой:
autocmd BufNewFile,BufReadPost * if &filetype == "python" | set indentkeys-=0# | endif
autocmd BufNewFile,BufReadPost * if &filetype == "yaml" expandtab shiftwidth=2 indentkeys-=0# | endif
См. : h indentkeys
Обратите внимание, что из-за (возможно) ошибки, если вы используете Neovim, вы должны также указать filetype plugin indent on
, иначе тип файла не будет установлен.