我的 vim 不断纠正前几行的缩进?
My vim keeps correcting indents of previous lines?
当我编辑 HTML 时,我有时喜欢这样 line-up 属性声明:
<li class="dropdown"
ui-route="..."
ng-class="{active: $uiRoute}">
</li>
但是,当我在示例的第 2 行末尾输入换行符时,vim 似乎将第 2 行的缩进更正为第 1 行的缩进。这是它的 GIF发生:
我打开了 autoindent
,但禁用它似乎没有帮助。
我可以告诉 vim 停止这样做吗?
这是因为您设置了 filetype indent on
并且加载了缩进文件:xml.vim
。
如果您将文件重命名为 foo.vim.txt
和 vim foo.vim.txt
之类的名称,当您按 Enter 时缩进不会自动调整。
更详细的信息:
在你$VIMRUNTIME/indent/xml.vim
中,你可以找到:
setlocal indentkeys=o,O,*<Return>,<>>,<<>,/,{,}
也就是说,当您在 xml
文件中按下 <Return>
时,会触发缩进调整。阅读 :h indentkeys
了解详情。
如果您不想让 vim 在您按下 <enter>
时重新缩进您的行,您可以尝试 setlocal indentkeys -=*<Return>
。如果你希望它只发生在特定的文件类型上,即 xml
,你可以创建自动命令。
希望对您有所帮助。
P.S。我刚刚发现你的文件可能是 html
文件,是一样的。您可以检查 $VIMRUNTIME/indent/html.vim
,您会看到 <Enter>
也在列表中。
当我编辑 HTML 时,我有时喜欢这样 line-up 属性声明:
<li class="dropdown"
ui-route="..."
ng-class="{active: $uiRoute}">
</li>
但是,当我在示例的第 2 行末尾输入换行符时,vim 似乎将第 2 行的缩进更正为第 1 行的缩进。这是它的 GIF发生:
我打开了 autoindent
,但禁用它似乎没有帮助。
我可以告诉 vim 停止这样做吗?
这是因为您设置了 filetype indent on
并且加载了缩进文件:xml.vim
。
如果您将文件重命名为 foo.vim.txt
和 vim foo.vim.txt
之类的名称,当您按 Enter 时缩进不会自动调整。
更详细的信息:
在你$VIMRUNTIME/indent/xml.vim
中,你可以找到:
setlocal indentkeys=o,O,*<Return>,<>>,<<>,/,{,}
也就是说,当您在 xml
文件中按下 <Return>
时,会触发缩进调整。阅读 :h indentkeys
了解详情。
如果您不想让 vim 在您按下 <enter>
时重新缩进您的行,您可以尝试 setlocal indentkeys -=*<Return>
。如果你希望它只发生在特定的文件类型上,即 xml
,你可以创建自动命令。
希望对您有所帮助。