假设我处于可视模式,我输入“aw”来扩展视觉区域以包含下一个单词。我想接下来的几个词。是否有一个键可以按重复上一个动作(包括文本对象动作)?
我知道'。'重复之前的更改,并且'n'重复之前的搜索,以及其他'repeat'命令,但我不知道任何重复前一个动作的命令(无论它是什么)。
答案 0 :(得分:23)
有一个命令重复用f,t,F或T做的每个动作 (记住fx接下来出现的字符x, Fx采用x的前一次发生, tx将您带到下一次出现x之前的角色, 和Tx带你到前一次出现x)后的角色 按重复这些动议
;
向后重复(在对开方向)按
,
答案 1 :(得分:21)
有一些插件可以提供此功能:
答案 2 :(得分:3)
有一个插件可以通过+
扩展区域并缩小_
:https://github.com/terryma/vim-expand-region
答案 3 :(得分:0)
没有插件使用;.
这是一个详细的示例:
int function1(){
some code here;
...
...
return 0;
}
int function2(){
some code here;
...
...
return 0;
}
现在,假设您要为功能1和功能2重写{}
中的部分。
{}
内ESC
或ctrl+c
)中,按di}
(代表“删除”“内部”“ {”){}
;.
对于可视模式,我认为宏是您唯一的选择(对于aw
来说可能过大了)
q
+ q
(最后一个q
可以是任何字母。将在其中保存宏)要重播这些操作(即使在可视模式下):
@q
(或您保存到的任何字母)要将动作重播99次:
99@q
(或您保存到的任何字母)