VIM语言语法

VIM语言语法,vim,macvim,Vim,Macvim,我有兴趣从VIM语法的角度来理解这一点: 操作的一般语法为(根据vimtutor): 但是,对于某些运算符,如f,语法为: [number] f motion 我发现这让人困惑,几乎每次都把它搞得一团糟。有人能指出逻辑吗(从VIM语言的角度) 谢谢。在我看来,f不是一个操作符,而是一个动作:fx将光标移动到下一个出现的x 有关说明,请参见此示例: dfx“删除查找x”删除直到(包括)下一个x的所有内容 d5fx删除到第5个x(包括) 这两个示例都遵循语法运算符[number]运动: d操

我有兴趣从VIM语法的角度来理解这一点:

操作的一般语法为(根据vimtutor):

但是,对于某些运算符,如
f
,语法为:

[number] f motion
我发现这让人困惑,几乎每次都把它搞得一团糟。有人能指出逻辑吗(从VIM语言的角度)


谢谢。

在我看来,
f
不是一个操作符,而是一个动作:
fx
将光标移动到下一个出现的
x

有关说明,请参见此示例:

  • dfx
    “删除查找x”删除直到(包括)下一个x的所有内容
  • d5fx
    删除到第5个x(包括)
这两个示例都遵循语法
运算符[number]运动

  • d
    操作员
  • 5
    编号
  • fx
    运动
以这种方式查看
f
-命令可能会消除您的困惑


运动通常用于移动光标。它们可以由运算符预先设置(另一个示例:
j
移动到下面的行,
dj
将删除运算符应用到下面的行,
5dj
执行5次)。在我看来
f
不是运算符,而是一个动作:
fx
将光标移动到下一个出现的
x

有关说明,请参见此示例:

  • dfx
    “删除查找x”删除直到(包括)下一个x的所有内容
  • d5fx
    删除到第5个x(包括)
这两个示例都遵循语法
运算符[number]运动

  • d
    操作员
  • 5
    编号
  • fx
    运动
以这种方式查看
f
-命令可能会消除您的困惑


运动通常用于移动光标。它们可以由运算符预先设置(另一个示例:
j
移动到下面的行,
dj
对下面的行应用delete运算符,
5dj
执行5次)。

f
不是运算符,因此没有理由假设它应该像运算符一样工作

f
是一个运动……正如预期的那样,它的工作原理与运动非常相似


有关可用操作符的完整列表,请参见
:help operator
,并查看
:help f
所属的部分。

f
不是操作符,因此没有理由假设它应该像操作符一样工作

f
是一个运动……正如预期的那样,它的工作原理与运动非常相似


有关可用运算符的完整列表,请参见
:help operator
,并查看
:help f
所属的部分。

实际上是
[number]operator[number]motion
d3w
删除了3个单词
3d5w
删除15个字。这确实是
[number]操作员[number]的动作
d3w
删除3个字,就像
3dw
一样<代码>3d5w删除15个。
[number] f motion