Я пишу python, javascript, html и другие файлы конфигурации, и я понимаю, что когда я ввожу новую строку в незавершенную строку (т.е. неисчерпаемая строка, все еще находящаяся в словарных скобках и т.д.), я получаю двойной отступ.
Как это исправить?
Я пишу python, javascript, html и другие файлы конфигурации, и я понимаю, что когда я ввожу новую строку в незавершенную строку (т.е. неисчерпаемая строка, все еще находящаяся в словарных скобках и т.д.), я получаю двойной отступ.
Как это исправить?
В файле .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
См. $VIMRUNTIME/indent/javascript.vim: он использует cindent для выполнения отступов. cindent зависит от ряда опций с помощью переменной cinoptions. Некоторые из них по умолчанию установлены на &shiftwidth * 2, вы можете захотеть reset те.
Соответствующим вариантом для вашего дела является +N. В вашем файле .vimrc вы должны поставить что-то вроде:
set cinoptions+=+1
хотя это, по-видимому, уже по умолчанию.
Опять же, см. $VIMRUNTIME/indent/html.vim: это выполняет отступ через пользовательское выражение. У меня был быстрый взгляд, и он, кажется, не выполняет ни одного двойного отступа в любом месте, но я могу ошибаться. Доступные для этого глобальные переменные не кажутся релевантными.
В худшем случае вы можете изменить этот файл самостоятельно и поместить его в свой ~/.vim/indent/.
В общем, каждый файл имеет отступ в соответствии с его собственными критериями, посмотрите в $VIMRUNTIME/indent/, чтобы понять, можно ли и как настроить каждый из них.
Вы уверены, что это действительно отступы? Возможно, ваше значение shiftwidth удваивает длину отступа. Сначала убедитесь, что значение shiftwidth установлено таким же значением, что и длина отступа.