如何在vim中专门缩进代码块?
有很多问题,但有一些问题没有一个能回答我的问题 我有一个代码块,如下所示:如何在vim中专门缩进代码块?,vim,Vim,有很多问题,但有一些问题没有一个能回答我的问题 我有一个代码块,如下所示: void foo { somecodehere morecode ... } 正如您所看到的,我的函数的核心是与代码块其余部分处于同一级别的缩进。我现在做的是在我的块(即})的末尾缩进整个块,包括带花括号的行 我想做的是一个类似的命令,它缩进之间的每一行,不包括我的花括号 我无法告诉您这将为我节省多少时间。插入 map sb v%><<%<< 映射sb v%>而不是映射新的内容,>i
void foo {
somecodehere
morecode
...
}
正如您所看到的,我的函数的核心是与代码块其余部分处于同一级别的缩进。我现在做的是在我的块(即}
)的末尾缩进整个块,包括带花括号的行
我想做的是一个类似的命令,它缩进之间的每一行,不包括我的花括号
我无法告诉您这将为我节省多少时间。插入
map sb v%><<%<<
映射sb v%>而不是映射新的内容,>i{
似乎在这里做您想要做的事情,但它移动了光标。将光标放在要缩进的块内,然后键入vi{
v
进入可视模式
i{
选择最里面的{}块中的所有内容
缩进可视块并返回正常模式
然后,您可以使用'
将光标移回其原始行
注意:如果你想缩进大括号,那么用a{
替换i{
,我使用的标记有时会让人痛苦,但很有效。
转到函数的最后一行(位于}上方的那一行)
ma
创建标记“a”
返回函数顶部并执行此操作
>`a
这只是说缩进一级,直到它达到标记a。使用=
进行格式化(不是缩进,但对我来说会得到相同或更好的结果)。除非你不喜欢vim格式化代码的方式。gg=G
将格式化整个文件。@这不完全是我想要的(有时我不想弄乱内部格式),但知道这一点也很有帮助。因此,sirI+1对您来说,移动光标单击是可以的。这肯定是我的Vim ness宝藏。