有时候,当你按下回车键后,vim的智能缩进并不能选择正确的缩进级别。此时,你可能希望回到上一行的缩进级别,并从那里继续。我知道你可以按几次
ctrl-d
来实现这个目的,但是如果有一个快捷键能够立即跳转到上一行的缩进级别,那将更加方便。ctrl-d
来实现这个目的,但是如果有一个快捷键能够立即跳转到上一行的缩进级别,那将更加方便。我不知道是否纯属巧合,但是Alexey Radev刚刚发布了prev_indent插件,它提供了一个插入模式映射和:PrevIndent
命令,可以将当前行移动到前一级缩进。
:inoremap <C-D> <Esc>:call setline(".",substitute(getline(line(".")),'^\s*',matchstr(getline(line(".")-1),'^\s*'),''))<CR>I
<
和>
来增加或减少缩进。它们与移动、视觉选择以及当前行的>>
<<
一样有效。您还可以使用=
选择“正确”的缩进级别,同样与移动等方面的操作一样有效。=
的组合来修复正常模式下的缩进错误,然后使用<<
和>>
来修复单个行的缩进。=
对我没用。 - dekuShrub<C-O>=G
将光标缩进到文件末尾。或者使用<C-O><<
删除一个缩进级别。
smartindent
,因为你的文件类型可能有更好的默认indentexpr
。 - romainl