This is a sentence
如果光标在s
of上This
,我想将光标移到n
ofsentence
我可以$Fn
但这不能与其他命令结合使用,例如delete
例如,如果光标在s
of上This
,则删除光标和n
of之间的所有内容sentence
d$Fn不工作
任何人都知道如何做到这一点?
This is a sentence
如果光标在s
of上This
,我想将光标移到n
ofsentence
我可以$Fn
但这不能与其他命令结合使用,例如delete
例如,如果光标在s
of上This
,则删除光标和n
of之间的所有内容sentence
d$Fn不工作
任何人都知道如何做到这一点?
假设您在删除“句子”s
中第二个和第二个之间的单词时遇到问题。n
你可以这样做
d2fn
正如@kev 提到的那样,easymotion
这是一个不错的选择,easymotion
您可以以更直观的方式进行操作,例如
d<Leader><Leader>fn
上面的命令将n
在该行中突出显示并让您选择。
Vim 插件easymotion
可以帮助你。
正如其他人所说,您可以将搜索命令/
与命令结合使用,d
以删除最多模式匹配。
但是,您也可以使用搜索偏移量将光标放置在与该搜索相关的任何位置。有关详细信息,请参阅:help search-offset
,但在您的情况下:
d/senten/e
将删除“句子”中的第二个“n”。
你也可以d/sentence/e-2
用来做同样的事情,但更多地限制比赛。
<Enter>
这与增量搜索和搜索突出显示相结合非常强大,因为这样您就可以在点击完成命令<Esc>
或<C-C>
取消整个命令之前准确地看到您正在执行的操作。
您可以使用可视模式:v$Fnd
我的JumpToLastOccurrence 插件扩展了内置的 f/F/t/T 动作,对应的动作移动到该{char}
行中最后一次出现的位置。你的例子是d,fn
.
我的 Vim 插件ft_improved也可以提供帮助。您只需继续输入,直到匹配是唯一的。
我不知道这里指的是“sentence”中的哪个“n”,但你确实可以用它d
来做到这一点。只需将其与搜索 ( /
) 结合:
d/n
或者,如果您想删除“sentence”中的第二个“n”,您可以将搜索模式设置为更具体的一个字符:
d/nc