Vim 取消缩进到行首的快捷方式

Vim shortcut for unindenting till the start of the line

所以我知道您可以使用快捷键 Shift+,(或 < ) 并且您可以通过在快捷方式前按数字重复应用它——例如,5 + < 将取消缩进5次。

有没有办法重复应用取消缩进直到到达行首?

一个选项是^d0:移动到缩进行的开头,然后删除到整行的开头。

不过,有时 << 然后混搭 . 更容易重复。

移动到 :left

您可以使用 :left 将行向左移动。这将删除所有缩进。

:left

有关详细信息,请参阅 :h :left

缩进放置

我经常发现自己想要 move/cut 一段代码和 put/paste 当前行的缩进级别。这可以通过 ]p & [p.

来完成

示例:

def foo():
    pass
if x == 'bar'
    print "hello world"

假设您在 if 线上,您可以执行以下操作:

dj]p

这将 put/paste 与 pass 内联的块产生:

def foo():
    pass
    if x == 'bar'
        print "hello world"

注意:]p & [p 需要寄存器按行排列才能正常工作或使用 unimpaired.vim

如需更多帮助,请参阅::h ]p & :h linewise