有人能向我解释什么f,并t命令做VIM,这也正是他们的工作?我似乎无法找到这些信息,但人们一直告诉我它们非常有用.如果可能的话,真的很感谢一个例子,谢谢!
Mic*_*fik 183
你这样问题的第一站应该是vim的内部帮助,:h f以及:h t.但是,在这种情况下,没有示例,这些条目有点神秘.假设我们有这条线(^=光标位置):
The quick brown fox jumps over the lazy dog.
^
Run Code Online (Sandbox Code Playgroud)
这些命令在一行中查找字符.所以fb将光标放在这里:
The quick brown fox jumps over the lazy dog.
^
Run Code Online (Sandbox Code Playgroud)
t就像是f将光标放在前面的字符上.所以tb会给你:
The quick brown fox jumps over the lazy dog.
^
Run Code Online (Sandbox Code Playgroud)
你可以记住这些命令是find和till.此外,您可以在命令前加上一个数字,以移动到该字符的第n个匹配项.例如,3fb将移动到光标右侧的第三个b.我的例句只有一个b,所以光标根本不会移动.
Lon*_*Rob 111
只是为了补充Michael Kristofik的答案,没有提及也没有描述f或t完整;.
从这个Vim备忘单:
; "重复最新的f,t,F或T [计数]次."
那么,继续@ MichaelKristofik的主题:
The quick brown fox jumps over the lazy dog.
^
Run Code Online (Sandbox Code Playgroud)
输入fo第一个'o':
The quick brown fox jumps over the lazy dog.
^
Run Code Online (Sandbox Code Playgroud)
然后;去下一个:
The quick brown fox jumps over the lazy dog.
^
Run Code Online (Sandbox Code Playgroud)
Vau*_*ato 46
我发现f和t结合是非常有用的d和c.例如, ct:将允许您替换从光标到下一个冒号的所有内容,但不能删除冒号.你可以记住它是"改为冒号".
rom*_*inl 30
fx跳到下一 x行.
tx跳到下一 x行之前的角色.
您可以使用Fx和Tx到达之前的 x.
您可以使用2fx跳转到第二x行.
所以,fF和tT当你想很快地进入到下一组括号(有用f(),或删除一切从游标,但不包括以前的=(dT=)等...
见:h motion.txt.它会让你大吃一惊.
rra*_*jik 15
既然 LondonRob 提到过;,我想对逗号命令的描述,是合适的。它经常与这些命令结合使用(当搜索超出时)。
f使用、F、t或执行搜索后T,可以使用,在相反方向重复搜索。
假设我们正处于这句话的开头,我们想将elot更改为elit。
Lorem ipsum dolor sit amet consectetur adipiscing elot sed do eiusmod tempor.
^
Run Code Online (Sandbox Code Playgroud)
我知道我必须替换o,所以我立即执行fo(find o) 。光标卡在该行的某个早期o处!点击;以在同一方向重复搜索。类型类型类型...我应该只完成五次,但假设我超出了范围并键入了;六次。我最终来到这里:
Lorem ipsum dolor sit amet consectetur adipiscing elot sed do eiusmod tempor.
^
Lorem ipsum dolor sit amet consectetur adipiscing elot sed do eiusmod tempor.
^
Lorem ipsum dolor sit amet consectetur adipiscing elot sed do eiusmod tempor.
^
Lorem ipsum dolor sit amet consectetur adipiscing elot sed do eiusmod tempor.
^
Lorem ipsum dolor sit amet consectetur adipiscing elot sed do eiusmod tempor.
^
Lorem ipsum dolor sit amet consectetur adipiscing elot sed do eiusmod tempor.
^
Lorem ipsum dolor sit amet consectetur adipiscing elot sed do eiusmod tempor.
^
Run Code Online (Sandbox Code Playgroud)
现在,只需执行,两次即可在另一个方向重复此搜索。光标将到达elot中的o。
Lorem ipsum dolor sit amet, consectetur adipiscing elot, sed do eiusmod tempor.
^
Lorem ipsum dolor sit amet, consectetur adipiscing elot, sed do eiusmod tempor.
^
Run Code Online (Sandbox Code Playgroud)
ri即可完成更换。
与大多数移动命令一样,,也进行计数:[count],。
从手册中:
以相反方向重复最近的 f、t、F 或 T [count] 次。