我如何在vim中排除代码块?

关于这个问题有很多令人惊讶的问题,但是有些问题没有一个能够回答我想要的问题。

我有一个代码块,如下所示:

void foo {

somecodehere
morecode
...

}

正如你所看到的,我的函数的内容与我的代码块的其余部分在同一水平上是缩进的。 我现在要做的就是>%在我的块的结束(即} ),它缩进整个块,包括与我的大括号的行。

我想要做的是一个类似的命令,它排除了我的大括号之间的每一行。

我无法开始告诉你这会节省多少时间。


而不是映射新的东西, >i{似乎做你想在这里,但它移动光标。


将光标放在要缩进的块内,然后键入vi{>

v进入视觉模式。

i{选择最内层{}块内的所有内容

>缩小视觉模块并回到正常模式

然后您可以使用''将光标移回原始行。

注意如果你想缩进大括号,那么用i{替换i{ a{


map sb v%><<%<<

放入你的.vimrc文件(用你想要的任何组合键替换'sb')。 它将整个功能转移到右侧,然后将第一行和最后一行转回到左侧。 它在一个块的第一行或最后一行工作

链接地址: http://www.djcxy.com/p/28625.html

上一篇: How do I exclusively indent a code block in vim?

下一篇: Indentation in python GUI