Как отключить двойной отступ в vim? - PullRequest
13 голосов
/ 22 августа 2010

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

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

Ответы [ 2 ]

20 голосов
/ 22 августа 2010

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/, чтобы понять, можно ли и как настроить каждый из них.

5 голосов
/ 24 декабря 2015

Вы уверены, что это действительно отступ в два раза?Возможно, ваше значение shiftwidth в два раза больше длины отступа.Сначала убедитесь, что значение shiftwidth установлено равным длине отступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...