По какой-то причине Вим считает, что все мои комментарии должны быть удалены из всех отступов. Если я добавлю #в начало строки, вдруг все начальные пробелы будут удалены. Как я могу это остановить?
У меня установлены Janus и NERDtree, на случай, если он уместен, наряду с множеством других личных настроек в моем .vimrc, но ни один из них (насколько я знаю) не вызовет такого поведения.
Меня никогда не устраивают ответы «все на всякий случай». Я настаиваю на том, чтобы знать, какие из этих вещей были установлены неправильно и как они были установлены. Вот команда, которая покажет вам значения всех соответствующих настроек, упомянутых здесь, а также где они были установлены в последний раз. Если ни одна Last set fromстрока не следует, это значение по умолчанию. Нет смысла указывать setправильные значения по умолчанию.
:verbose set autoindent? smartindent? cindent? cinkeys? indentexpr?
noautoindent
nosmartindent
cindent
Last set from ~/.vim/vimrc
cinkeys=0{,0},0),:,!^F,o,O,e
Last set from ~/.vim/vimrc
indentexpr=
Press ENTER or type command to continue
Вот это да! ОП изменил свой выбранный ответ. Я горжусь.
Бруно Броноски
6
Это битва, в которой я сражался, и думаю, что наконец выиграл. Проблема в том, что существует дюжина различных способов переопределения поведения (с помощью плагинов / синтаксисов).
Вот все настройки, которые я должен был использовать, чтобы выиграть битву:
set nosmartindent
set cindent
filetype plugin indent on
set cinkeys-=0#
set indentkeys-=0#
autocmd FileType * set cindent "some file types override it
С autocmdпервым set cindentне должно быть необходимости, но это одна из тех вещей, где я продолжал добавлять строки, пока поведение не исчезло.
Мне удалось пропустить последние две строки и все еще решить проблему
iconoclast
1
@iconoclast заметьте, что у вас могут быть проблемы с некоторыми типами файлов. Последняя строка потому, что некоторые файлы синтаксиса имеют приоритет над настройками отступов.
Патрик
1
О, МОЙ БОГ!!! set indentkeys-=0#!! НАКОНЕЦ МОЯ БОЛЬНОСТЬ ЗАКОНЧИЛАСЯ !!!!!!!!
Это битва, в которой я сражался, и думаю, что наконец выиграл. Проблема в том, что существует дюжина различных способов переопределения поведения (с помощью плагинов / синтаксисов).
Вот все настройки, которые я должен был использовать, чтобы выиграть битву:
С
autocmd
первымset cindent
не должно быть необходимости, но это одна из тех вещей, где я продолжал добавлять строки, пока поведение не исчезло.источник
set indentkeys-=0#
!! НАКОНЕЦ МОЯ БОЛЬНОСТЬ ЗАКОНЧИЛАСЯ !!!!!!!!Возможно, вы захотите проверить исходную кодовую страницу Vim Wiki Indenting и узнать, как работает autoindent.
источник
Ref этот ответ:
http://vim.wikia.com/wiki/Restoring_indent_after_typing_hash
изменить на:
или:
источник
Я решил проблему, комментируя
set smartindent
.источник