什么f和t命令在 vim 中做什么以及它们是如何工作的?
5 回答
遇到此类问题的第一站应该是 vim 的内部帮助,:h f
以及:h t
. 但是,在这种情况下,这些条目在没有示例的情况下有点神秘。假设我们有这一行(^
= 光标位置):
The quick brown fox jumps over the lazy dog.
^
这些命令查找一行中的字符。所以fb
将光标放在这里:
The quick brown fox jumps over the lazy dog.
^
t
类似f
,但将光标放在前一个字符上。所以tb
会给你:
The quick brown fox jumps over the lazy dog.
^
您可以将这些命令记为f
ind 和t
ill。此外,您可以在命令前添加一个数字以移动到该字符的第 n 次出现。例如,3fb
将移动到光标右侧的第三个 b。我的例句虽然只有一个 b,所以光标根本不会移动。
只是为了补充迈克尔克里斯托菲克的回答,没有描述f
或t
不完整,也没有提及;。
从此Vim 备忘单:
;
“重复最近的 f、t、F 或 T [count] 次。”
所以,继续@MichaelKristofik 的主题:
The quick brown fox jumps over the lazy dog.
^
键入fo
以转到第一个“o”:
The quick brown fox jumps over the lazy dog.
^
然后;
转到下一个:
The quick brown fox jumps over the lazy dog.
^
我发现f和与和t结合使用非常有用。例如, 将允许您替换从光标到下一个冒号的所有内容,但不能删除冒号。您可以将其记住为“更改为冒号”。dcct:
fx
跳到下一个 x
就行了。
tx
跳转到该行下一个 字符之前的字符x
。
您可以使用Fx
andTx
来达到前面 x
的.
你可以用2fx
跳到第二个x
就行了。
因此,fF
当tT
您想要快速转到下一组括号 ( f(
) 或删除从光标到但不包括前一个=
( dT=
) 等的所有内容时非常有用……</p>
见:h motion.txt
。它会让你大吃一惊。
由于 LondonRob 提到;
了 ,我想逗号,
命令的描述是有序的。它与这些命令非常结合使用(当搜索过冲时)。
f
使用、或执行搜索后F
,可以使用以相反方向重复搜索。t
T
,
假设我们在这句话的开头,我们想将elot更改为elit。
Lorem ipsum dolor sit amet consectetur adipiscing elot sed do eiusmod tempor.
^
我知道我必须替换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.
^
现在,只需执行,
两次即可在另一个方向重复此搜索。光标将到达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.
^
ri
完成更换。
与大多数移动命令一样,,
也要数一数:[count],
。
从手册:
以相反的方向重复最近的 f、t、F 或 T [count] 次。