首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同运动的d{运动}规则

不同运动的d{运动}规则
EN

Stack Overflow用户
提问于 2021-01-09 13:19:42
回答 1查看 45关注 0票数 1

给予:

代码语言:javascript
复制
for (int i = 0; i < 10; i++){
   _   <---Cursor position

3w导致

代码语言:javascript
复制
for (int i = 0; i < 10; i++){
         _   <---Cursor position

d3w导致

代码语言:javascript
复制
fori = 0; i < 10; i++){
   _   <---Cursor position

也就是说,即使运动3w将光标移到ii本身也不会被删除。

另一方面,鉴于:

代码语言:javascript
复制
for (int i = 0; i < 10; i++){
   _   <---Cursor position

%导致

代码语言:javascript
复制
for (int i = 0; i < 10; i++){
                           _   <---Cursor position

d%导致

代码语言:javascript
复制
for{
   _   <---Cursor position

也就是说,运动%将光标移至),而)本身被删除。

那么,为什么d{motion}有两种不同的效果呢?是否有任何单一的一般规则,这两者是一致的特例?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-09 13:52:04

是的,这是有逻辑的。在Vim中,一些运动(如w )是“排他性”,而其他运动(如% )是“包容性”的。这将决定行动是否会影响议案的最后一个特征。

实际上,您可以通过使用v运算符来覆盖运动的“独占”或“包容”状态(请注意,这里使用的是v作为运算符,而不是像正常模式命令那样启动视觉模式!)因此,dv3w (或d3vw)将删除它所在字符的第三个单词“包含”的开头,而dv%将删除下一个匹配的括号“独占”。

在某种程度上,视觉模式有点类似,因为默认情况下,视觉选择是“包含性的”,因此v3wd的行为与dv3w类似。(尽管可以被'selection'选项覆盖。)

请参见:

  • :help w
  • :help %
  • :help exclusive (与:help inclusive相同)
  • :help o_v
  • :help 'selection'
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65643113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档