Если у вас включена поддержка типов файлов, Vim загружает плагин для типов файлов, когда вы загружаете файл определенного типа (например, JavaScript), и этот файл содержит несколько настроек. В случае JavaScript, одной из этих настроек является indentexpr
, которая является функцией, которая вызывается для автоматического предоставления правильного отступа.
Похоже, что в этом случае она не обрабатывает этот случай автоматически, возможно, потому что никто никогда не рассматривал этот случай в коде. Vim изначально не понимает JavaScript, поэтому Vimscript должен делать все возможное.
Кроме того, возможно, что кто-то не делал такого поведения, потому что ваша строка не будет рассматриваться как продолжение строка, если кто-то использовал стиль JavaScript, когда вы не пишете точки с запятой в конце, а вместо этого ставите их в начале строки, если это необходимо для устранения неоднозначности. Vim должен поддерживать оба стиля JavaScript, даже если не все согласны с тем, что оба являются хорошей идеей.
Независимо от того, заголовок файла (в моей системе, /usr/share/vim/vim82/indent/javascript.vim
) содержит URL GitHub, где Вы можете сообщить об этой проблеме и либо отправить патч, либо посмотреть, захочет ли кто-нибудь еще написать его. Вы также можете отключить значение indentexpr
, написав в вашем .vimrc
что-то вроде следующего:
au FileType javascript setl indentexpr=
В этом случае вы получите поведение по умолчанию autoindent
.