Vimmers知道.
可以重复简单的更改。我试图建立一个可以重复或不重复的列表,但是有一个列表吗?
我试图列出我所知道的可重复性:它们都是正常模式命令:
a
,A
,i
,I
,o
,O
c
,C
,d
,D
,p
,gp
,P
, gP
,s
,S
,x
,X
J
,gJ
,r
,gr
,R
,gR
,gU
,{ {1}},gu
,gw
,gq
,g?
,~
,g~
,<
,{{1 }} >
,=
C-A
将在当前光标位置重复插入但,而不是在最后插入位置。所以有点有效。但它不包括:
C-X
)gi
,m
)&
,g&
,!
):
或Q
时,会重复录制或播放时的最后一次可重复操作。q
,@
)dp
,do
,u
)U
)我知道tpope的repeat插件可以让自定义插件订阅重复机制。但默认情况下,上面的列表是否很好?
答案 0 :(得分:4)
我相信更改是修改当前缓冲区的任何命令。 .
命令排除了Ex命令(因为这是一个不同的模式,我想在远程历史中用螺栓连接到vi),并且可以选择包括yanks。
因此,对于您的列表,:help change.txt
,针对Ex命令进行过滤,可能是最佳来源。
请注意,当无法应用更改命令(即发出哔哔声)时,也不会注册重复;命令执行必须成功。
答案 1 :(得分:2)
e.g。
Vgq,v / VU或v / Vu
答案 2 :(得分:1)
Tim Pope repeat.vim
可以让repeat
更多的东西(包括像surround.vim
和其他必须拥有的东西)。
要重复动作,请查看, / ; (前进/后退方向)。
要重复一个Ex命令, @ :是一个很好的组合键
答案 3 :(得分:0)
示例:如果要对以下嵌入式数字列表进行排序,
getToiletList(LiveData<Toilet>)
使用表达式寄存器考虑以下两种方式:
first 3,2,17,198,232,1,999 and some other text
second 1,2,3,71,98,4,5 and some more text
然后是ciW
<C-r>=join(sort([<C-r>"]), ',')<CR>
然后是ciW
如果您尝试用<C-r>=join(sort(split(expand(@"), ',')), ',')<CR>
在第二行中重复其中任何一个,vim只需从第一行再次输入相同的列表。
这可能是其他人所期望的,但是我希望第二种方式可以重新评估表达式寄存器。