f和t命令在Vim中做了什么?

有人可以向我解释ft命令在vim中做了什么,以及它们是如何工作的? 我似乎无法find这些信息,但人们总是告诉我,他们是非常有用的。 如果可能的话,真的很感谢答案,谢谢!

你的第一站这样的问题应该是vim的内部帮助, :hf:ht 。 然而,在这种情况下,这些条目有点神秘,没有一个例子。 假设我们有这条线( ^ =光标位置):

 The quick brown fox jumps over the lazy dog. ^ 

这些命令可以在一行中find字符。 所以fb会把光标放在这里:

 The quick brown fox jumps over the lazy dog. ^ 

t就像f但把光标放在前面的字符上。 所以tb会给你:

 The quick brown fox jumps over the lazy dog. ^ 

你可以记住这些命令。 另外,你可以用一个数字前面加上命令来移动到第n个字符。 例如, 3fb将移动到光标右侧的第三个b。 我的例句只有一个b,所以光标根本不会移动。

为了补充Michael Kristofik的回答 ,没有提及ft描述是完整的;

从这个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. ^ 

我发现ftdc结合非常有用。 例如, ct:会让你从光标到下一个冒号代替所有内容,但不能删除冒号。 你可以记住它是“改变冒号”。

fx跳到下一个 x上线。

tx跳到字符线上的下一个 x之前的字符。

您可以使用FxTx来达到前一个 x

你可以使用2fx跳转到第二个x

所以, fFtT是很有用的,当你想快速的去下一组圆括号( f( )或删除从光标到所有的东西,但是除去前面的=dT= )等等…

请参阅:h motion.txt 。 这会打击你的头脑。