将f和t运动扩展到下一行


16

有没有一种方式,t{char}并且f{char}将继续在下一行工作,如果{char}不存在,在给定的线?

我想避免使用/{char}<CR>,以节省1个按键并没有突出显示搜索,特别是当我需要这个结合动词(如dfact.)。


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

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

1
Dahu为此做了一个插件:github.com/dahu/vim-fanfingtastic
EvergreenTree

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

1
:我还做了一个插件improvedft
基督教Brabandt

Answers:


6

我还使用了dahu / vim-fanfingtastic一段时间,发现它非常有用。.由于还必须安装库tpope / repeat.vim,它支持语义重复。

一个替代方案是chrisbra / improvedft,它或多或少地做相同的事情。

rhysd / clever-f.vim具有启用多行搜索的选项,尽管它的主要功能是允许f重复当前搜索,就像;已经进行的那样。

这些都按预期方式处理;,键。

缺陷与多行ft是,如果你按错键,你会采取关闭当前行至某处意外的文件中。 Ctrl-O在那一刻可以提供帮助。(c如果您没有意识到自己只是吞咽了几行,但是进行更改可能会很危险,但这只是给我带来麻烦。)

还有其他相关的插件,它们的方法略有不同,例如justinmk / vim-sneakgoldfeld / vim-seek会提示输入两个字符,从而更容易(但仍不能保证)击中目标位置。

然后是easymotion / vim-easymotion。这提供了许多功能强大的动作键,其中有许多功能需要一些额外的按键或两次才能确认目标人物。


但是目前我正在使用自行开发的解决方案。我 EasyMotion的作者一起对您前面所有匹配的字符进行标记ft 计数

在此处输入图片说明

这是香草vim运动的自然计数助手。当您尝试与某物一起移动时,fx却发现x路上有比您想像的还要多的东西,您可以阅读闪烁在目标字符上的数字,然后[count];跳到那里。

您可以在这里找到分支。确保阅读添加有用提示部分以设置键映射。

但是,对于c更改操作,最好还是在第一时间将其正确设置。在这种情况下,我建议在“ v视觉”模式下花费额外的击键,或使用EasyMotion保证的跳跃之一。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.