我刚刚从vim转换到neovim。以下是vim配置设置,可以实现我想要的缩进行为:
这里的关键部分是自动缩进:
请注意,Neovim没有自动缩进这一行。如果它有,它将具有与
很明显,它的意图是再添加一个缩进。
set tabstop=4
set shiftwidth=4
set softtabstop=4
set autoindent
set backspace=indent,eol,start
这里的关键部分是自动缩进:
set autoindent
每个新行,这会使vim匹配前一行的缩进:
def demo_autoindent():
a = 'This line was manually indented'
····
< p > a
的声明手动缩进了一步,但第二行被自动缩进到相同的级别。这里我用一系列 ·
字符表示自动缩进。
Neovim 与此行为相匹配。然而,Neovim 尝试在块或在此情况下在 Python 中声明字典时变得有点聪明:
def example_neovim():
b = {
············
请注意,Neovim没有自动缩进这一行。如果它有,它将具有与
b
声明相同的4个空格缩进。相反,Neovim添加了额外的两个缩进,使总缩进为12个空格。很明显,它的意图是再添加一个缩进。
def example_neovim_intention():
c = {
········
如何配置Neovim以实现以下功能:
- 与vim的行为相匹配,只需自动缩进到相同的级别。
- 在声明诸如字典等内容时仅添加单个(而非双倍)额外缩进。