Перестаньте vim не псувати мої відступи в коментарях


13

Чомусь Вім вважає, що всі мої коментарі повинні видалити всі відступи. Якщо додати #до початку рядка, раптом всі провідні пробіли будуть видалені. Як я можу це зупинити?

У мене встановлені Янус і NERDtree, на випадок, якщо це невідповідно, а також багато інших особистих конфігурацій у мене .vimrc, але жодна, що (наскільки я знаю) не спричинила б подібну поведінку.

Відповіді:


4

Я ніколи не задоволений "відповіді на всі ці речі на всякий випадок". Я наполягаю на тому, щоб знати, які з цих речей були встановлені неправильно і як вони були встановлені. Ось команда, яка покаже вам значення всіх відповідних параметрів, згаданих тут, а також місця їх останнього встановлення. Якщо жоден 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

Дивіться: http://vimdoc.sourceforge.net/htmldoc/options.html#:set-verbose

Все, що я повинен був зробити, щоб працювати, це було видалити set smartindentз плагіна та додати до свого ~/.vim/vimrc:

set cindent cinkeys-=0#
set expandtab shiftwidth=4 tabstop=4 softtabstop=4

Оце Так! ОП змінили обрану відповідь. Мені честь.
Бруно Броноський,

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#!! НАСАЛЬНО МОЕ ПОТРІБНЕ НАДЕ !!!!!!!!
Касапо



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.