为什么使用/ foo在Vim中更改光标位置被认为是跳转,但使用w命令这样做是不是?

Lon*_*ner 1 vim

当我通过按下从一个单词移动到另一个单词时w,按Ctrl- o不会将我带到前一个单词.基本上,使用该w命令从一个单词移动到另一个单词不会创建新的条目:jumps.

但是当我根据搜索命令(例如/foo)更改光标位置时,按Ctrl- o将我带回到前一个光标位置.换句话说,搜索文本会创建一个新条目:jumps.

我怎样才能理解:help光标位置的哪些变化被视为跳跃而哪些不被认为是跳跃?

Ing*_*kat 9

您将找到影响跳转列表的所有动作:help jump-motions:

"跳转"是以下命令之一:"'","`","G","/","?","n","N","%","(",")" ,"[[","]]","{","}",":s",":tag","L","M","H"以及开始编辑新文件的命令.

"短"动作w不会影响跳转列表的原因是它会变得不那么有用; 跳转最好用于撤消缓冲区周围的大型导航(例如,在搜索之后,跳转到下一个函数等),而不是当短的局部移动可以通过相反的运动(例如w- > b)轻松撤消时.请注意,此地点不限于同一条线; 它适用于线运动像jk以及(虽然有些人喜欢使用j与被记录在跳转列表计数,可以用映射来完成).