< p > 在vim中,f和t命令的作用是什么,它们如何工作?< /p >
: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
和t
。此外,您可以在命令前加上数字,以移动到该字符的第n个出现位置。例如,3fb
会移动到光标右侧第三个b。但是,我的示例句子只有一个b,所以光标根本不会移动。补充Michael Kristofik的答案,没有提到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.
^
我发现在与d和c结合使用时,f和t非常有用。例如,ct:
将允许您替换从光标到下一个冒号的所有内容,但不会删除冒号。您可以将其记为“更改为冒号”。
ct,
或ct)
这样的成语可以快速替换函数调用中的一个或最后一个参数,使用起来感觉很棒。 - mike3996vt:c
,因为你不总是能完全正确地捕捉到给定字母的每个出现。使用v
可以看到视觉选择,这是一个好的视觉提示。 - Bentley4fx
跳转到行中 下一个 x
。
tx
跳转到行中 下一个 x
的前一个字符。
您可以使用 Fx
和 Tx
来到达 上一个 x
。
您可以使用 2fx
跳转到行中第二个 x
。
因此,fF
和 tT
在想快速移动到下一组括号(f(
)或从光标到前一个 =
之间删除所有内容(dT=
)等情况下非常有用。
请参见 :h motion.txt
。这将令您大开眼界。
;
,我猜想需要描述逗号,
命令。它通常与这些命令一起使用(当搜索超出范围时)。f
、F
、t
或T
搜索之后,一个人可以使用,
来在相反的方向重复搜索。Lorem ipsum dolor sit amet consectetur adipiscing elot sed do eiusmod tempor.
^
我知道我需要替换一个o,所以我立即执行一个fo
(查找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]次。
Fb
或Tb
。 - user4923309