如果给定的行中不存在t{char}f{char}{char}是否可以在下一行中继续工作?突出显示,尤其是当我需要将其与动词结合使用时(例如/{char}<CR>dfa)。

评论

您可以执行d / a删除到下一个a和c /。删除到下一个..如果您使用hlsearch并在执行此操作时不想使用它,则可以创建一个映射来执行d /操作,然后禁用突出显示(以:nohlsearch结尾)。

您可以使用(或研究)诸如github.com/rhysd/clever-f.vim之类的插件(将g:clever_f_across_no_line设置为0,并随意启用/禁用其他选项)。

大湖为此做了一个插件:github.com/dahu/vim-fanfingtastic

我仍然认为最好的插件是easymotion

我还做了一个插件:Improvementft

#1 楼

我还使用了dahu / vim-fanfingtastic一段时间,发现它非常有用。由于还必须安装库tpope / repeat.vim,它还支持.的语义重复。 /> rhysd / clever-f.vim具有启用多行搜索的选项,尽管它的主要功能是允许f;一样重复当前的搜索。和;键。

多行,f的缺点是,如果您键入错误的键,则会将当前行从文件中删除到意外位置。 Ctrl-O可以在那些时候提供帮助。 (如果您不知道自己只是吞了几行,用t进行更改可能很危险,但这对我来说只是个麻烦。)诸如justinmk / vim-sneak和goldfeld / vim-seek之类的方法会提示输入两个字符,从而更容易(但仍不能保证)击中目标位置。 vim-easymotion。这提供了许多功能强大的运动键,其中有许多需要候选者的情况下,需要额外的一两个键才能确认目标角色。解。我与EasyMotion的作者合作,在您前面的所有匹配字符上制作了cf闪光计数标记。



这是香草的自然计数助手vim动作。当您尝试使用t移到某个地方,但是发现路途中的fx超出您的想像时,您可以读取闪烁在目标字符上的数字,然后执行x跳到那里。

您可以在这里找到分支。请务必阅读“添加有用的提示以设置键映射”一节。在这些情况下,我建议在[count];可视模式下花费额外的击键,或使用EasyMotion保证的跳动之一。

#2 楼

正如VanLaser所说,有一个插件可以满足您的需求。

https://github.com/dahu/vim-fanfingtastic

它现在需要重复插件可以正常工作,因此您也将需要它:

https://github.com/tpope/vim-repeat

评论


您还应该提及其他替代方案

–克里斯蒂安·布拉班德(Christian Brabandt)
15年8月25日在16:55

不是我:)我提到了github.com/rhysd/clever-f.vim

– VanLaser
15年8月26日在22:25