Как отключить двойной отступ в vim?

Я пишу python, javascript, html и другие файлы конфигурации, и я понимаю, что, когда я вхожу в новую строку в незаконченную строку (т.е. в неопределенную строку, все еще в скобках словаря и т. Д.), Я получаю двойной отступ.

Как мне это исправить?

13
задан asdca 21 August 2010 в 20:13
поделиться

1 ответ

Python

Есть несколько переменных, которые вы можете установить в своем файле .vimrc , чтобы повлиять на отступ Python:

Отступ после открытия круглые скобки: let g: pyindent_open_paren = '& sw * 2'

Отступ после вложенной круглой скобки: let g: pyindent_nested_paren = '& sw'

Отступ для строки продолжения: let g: pyindent_continue = '& sw * 2'

Для получения дополнительной информации: : help ft-python-indent

Javascript

См. $ VIMRUNTIME / indent / javascript.vim : он использует cindent для выполнения вдавливания. cindent зависит от ряда параметров через переменную cinoptions . Некоторые из них по умолчанию установлены на и shiftwidth * 2 , вы можете сбросить их.

Подходящим вариантом для вашего случая является + N . В вашем файле .vimrc вы должны поместить что-то вроде:

set cinoptions+=+1

, даже если это уже значение по умолчанию.

Html

Опять же, см. $ VIMRUNTIME / indent / html.vim : отступ выполняется с помощью пользовательского выражения. Я быстро посмотрел и, похоже, нигде не выполняет двойного отступа, но я могу ошибаться. Доступные для этого глобальные переменные не имеют отношения к делу.

В худшем случае вы можете изменить этот файл самостоятельно и поместить его в свой ~ / .vim / indent / .

Другие файлы

В общем, каждый файл имеет отступ в соответствии со своими критериями. Посмотрите в $ VIMRUNTIME / indent / , чтобы понять, можно ли и как настроить каждый из них.

20
ответ дан 1 December 2019 в 21:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: