在某些操作之后将光标放在所选块的末尾

时间:2012-02-21 23:37:46

标签: vim

我经常遇到的几个例子。

缩进一些代码

E.g。我想将代码块放在if语句中:

puts("hello");
puts("world");

我在第一行之前输入if (pid > 0) {,然后按 Esc j Shift + v j >

if (pid > 0) {
  puts("hello");
  puts("world");

现在游标位于第一个puts的beginnig,并且要输入右括号,我需要一个额外的 j 来到缩进块的末尾。

粘贴块并添加到其末尾

几乎相同的例子。当提取一些代码来运行时,在用 p 粘贴它之后,我需要在结尾附加return语句或结束括号。如果我很幸运,在粘贴块后会有空行,我可以使用} 跳到那里,但情况并非总是如此。

问题

所以问题是如何在对其执行某些操作(粘贴,缩进等)后跳转到所选块的末尾?

2 个答案:

答案 0 :(得分:5)

`]

将您移动到被拉动或以前更改的文本的末尾。

:h `]

答案 1 :(得分:1)

作为替代行为,您可以先插入结束},然后然后自动缩进新范围内的代码。

在正常模式下位于新范围的最后一行:

  

0 } ESC v =