How do I exclusively indent a code block in vim?
There are a surprising number of questions on this subject, yet some how none of them answer what I want.
I have a code block as follows:
void foo {
somecodehere
morecode
...
}
As you can see the guts of my function are indents on the same level as the rest of my code block. What I currently do is >%
on the end of my block (ie the }
) which indents the entire block, including the lines with my curly braces.
What I'd like to do is a similar command which indented every line in between excluding my curly braces.
I can not begin to tell you how much time this would save me.
而不是映射新的东西, >i{
似乎做你想在这里,但它移动光标。
Put the cursor inside the block you want to indent, and type vi{>
v
enters visual mode.
i{
selects everything inside the innermost {} block
>
indents the visual block and goes back into normal mode
You can then use ''
to move the cursor back to its original line.
NB if you want to indent the braces as well then replace i{
with a{
.
insert
map sb v%><<%<<
into your .vimrc (replace 'sb' with any key combination you want). it shifts the whole function to the right and then the first and the last line back to the left. It works in the first or on the last line of a block
链接地址: http://www.djcxy.com/p/28626.html上一篇: Perl:将Unicode字符串打印到Windows控制台
下一篇: 我如何在vim中排除代码块?