到字母,然后删除直到字母,然后重复

从“实用vim”来看,我认为最好的做法是尝试移动、行动,然后重复。

说我有这个字符串:

foo_bar fooo_bar foo abar foo_bar

我想向前移动直到找到一个f,然后删除直到找到一个b,然后重复。

我会认为以下内容会起作用:

ff
dtb
;
.
;
.

ff将是移动的命令,然后dtb是行动的命令。

但是,当我按下 时;,它会前进到下一个之前b,而我想重复我的“移动”命令,即ff.

有没有办法做到这一点,这样“行为”命令就不会改变“移动”命令的行为?

回答

;重复最新的fFtT,在您的情况下,是tb,不是ff。没有办法让;重复的东西。

以下是替代方法……

  • :help /

    ff
    d/b<CR>    " delete until next b
    ;
    .
    ;
    .
    

    正如@mattb 所提到的,诀窍是使用fFtT与操作不同的动作,以便您ff始终使用;或重复最新的动作,

  • :help recording

    qq         " start recording in register q
    ff
    dtb
    q          " stop recording
    @q         " play it back
    @q         " play it back
    

    诀窍是将初始运动和操作封装到一个宏中,可以一遍又一遍地重复;,根本不涉及。


以上是到字母,然后删除直到字母,然后重复的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>