if (jumps_over(quick_fox[brown],the_lazy_dog)) the_lazy_dog.bark();
导航到“树皮”的最有效方法是什么?
Vim旨在使用可重复的,通常是复杂组合的小型构建块来实现您的目标.它本身并不是一个有效的过程,但对于复杂任务的一个子集,它是有用的.例如,[motion] [macro]或[count] [command],这些是在链中组合在一起的小构建块.单击屏幕是最有效的移动,但在大型文本操作任务的子集中可能没有用,您必须执行数千次.
以下是我通常使用的所有我记忆中的方法,你可以看到这些都不是运动的有效用途,也不是我的认知处理能力. (IDE通过完成下面列出的所有工作来有效地完成工作).
一旦上线,我会亲自使用f.l,因为快速扫描显示这是一个独特的角色.或者T.如果你已经过去了.如果最终不止一个.我会用;重复发现直到我到达它.或者,在我接近之前捣碎w或W,因为在Vim中基本上不可能猜到涉及标点符号时小写w会带你到哪里.
如果你有:set relativenumber on你可以看到它有多少行,然后输入nj去那里,然后输入f.跳到它旁边
如果您有:设置编号,您可以键入(因为您知道行号)671G(或:671Enter)f.
如果你用那个标记了那条线,比如你可以跳到’a或者带有’a的确切字符的行(但是大多数键盘使`无用到达:(如果是随机的话,你可能不会使用这个需要修复的跳跃.
如果您安装了EasyMotion,则可以键入leaderleaderfbsubchar直接跳转到它
你可以像@kev建议的那样搜索它,并使用nN反弹直到你得到它.如果树皮很常见但是the_lazy_dog是唯一的你可以做/ dog.b/eEnter(e将光标放在比赛结束时)并向Vim神祈祷你的搜索特定到足以匹配那条线.这更像是一个有趣的猜谜游戏.
根据线在屏幕上的位置,您可以使用(n偏移)H,M或L(高中低)来接近它并在那里使用jk.
或者,如果该行在其上方/下方有空行,您可以键入超级方便的{或}来帮助您靠近.
或者你可以使用鼠标,如果你在gvim附近的触控板的笔记本电脑上.我很认真,尽管我可能永远不会这样做.如果你已经玩过足够的第一人称射击游戏,你的扳机手指可能比任何键盘快捷键更加准确和快速;)
尽管Vim’m疯狂的键盘力量,但并不总是有一种直接或好的方法来做某些事情,比如非常特殊的跳跃.你需要保持并不断地制作一套技巧来帮助你四处走动并使用适合的工作.我使用上述所有相当均匀且经常(我使用relativenumber),这取决于我认为最快的. EasyMotion非常方便,除了执行一个命令的5次击键真的很笨拙并且容易出错.
所以在我谦虚的几年Vim体验中,我会说没有好的方法可以做到,但是有很多平庸的方式,你可以结合成一个体面的方式.