什么是达成VIM视线斑点最有效的方法是什么?(What is the most efficient

2019-06-27 00:02发布

假设你是上线640,并注意上线671以下几点:

if (jumps_over(quick_fox[brown],the_lazy_dog)) the_lazy_dog.bark(); 

什么是导航到“汪汪”最关键有效的方法?

Answer 1:

这是关于Vim的一个普遍的误解:Vim的目的不是要高效。

Vim的设计中重复,往往复杂的组合使用小积木,来实现自己的目标。 这不是一个内在有效的过程,但对于复杂任务的一个子集,它是有用的。 例如,[运动] [宏]或[COUNT] [命令],这些都是小积木在链结合在一起。 点击屏幕上是最有效的运动,但你必须做上千次可能不是一个大的文本操作任务的一个子集是有用的。

这里是所有我通常使用我能记得的方式,你可以看到这些都不是运动还是我的认知处理能力的高效使用。 (集成开发环境有效地做事情,采取了下面列出的所有工作)。

一旦上线我会亲自使用f。 l由于快速扫描显示,这是一个独特的性格。 或T。 如果你过去吧。 如果最终被不止一个 我会用; 重复查找,直到我得到它。 或者,捣烂WW,直到我接近,因为试图猜测其中小写字母w ^会把你当标点参与Vim中基本上是不可能的。

如果您有:set relativenumber你可以看到它是多少行远,键入n J确定去那里,然后键入F。 旁边给它跳

如果您:set number上,你可以输入(因为你知道行号)671 G(:671 回车 )F。

如果你在标有该行,说m 是一 ,你可以跳转到以'行或`确切的一个字符(但大多数键盘使`没用达到:(你可能不会使用这一个,如果它是一个随机查找需要到固定的跳跃。

如果你有在EasyMotion安装,您可以键入领导者 的领导者 F b subchar直接跳到它

你可以搜索它作为@kev建议和使用N还 N,直到你得到它蹦蹦跳跳。 如果bark是共同但有the_lazy_dog是独一无二的,你可以做/dog.b/e 输入 (E地方光标在比赛结束时),并祈求神灵的Vim,你的搜索是不够具体,只有符合该行。 这更是一个有趣的猜谜游戏的。

具体情况取决于行是在屏幕上,你可以使用(正偏移)H,ML(高中间低),以获得更接近它,并使用Ĵķ一旦有。

或者,如果行有上述空行/以下是你可以键入超级实用的{}帮助你跳结束。

或者,如果你是在笔记本电脑上,其中触控板是在附近的gvim +,你可以使用鼠标。 我是认真的,尽管我可能从来没有做到这一点。 如果你玩过足够的第一人称射击你扣扳机的手指可能会比任何键盘快捷键更准确,更快速;)

尽管所有Vim'm疯狂键盘开机,有并不总是直接的,也没有好办法做一些事情,比如非常特殊的跳跃。 你需要保持和不断增进技巧的包,以帮助你走动并使用适当的人做这项工作。 我用所有上述的相当均匀,通常(我用relativenumber ),这取决于我认为将是最快的。 在EasyMotion是非常方便的,除了5次击键执行一个命令是好不尴尬且容易出错的输入。

所以在我的卑微几年的经验Vim的,我会说有做这没有什么好办法,但也有很多平庸的方式,你可以合并成一个体面的方式。



Answer 2:

/树皮 Enter键 。 (也许n为必需的)

(这取决于文字的形状。如果没有信息,我不能提供一个最好的方式。)



Answer 3:

如果你想增加一击的可能性(即减少不必打了N的可能性)使用@千电子伏的建议,也许改变你的正则表达式包含多个文本,并从那里偏移光标。 例如:

/dog\.bark/e-3


Answer 4:

打开相对行号和31j成为一种非常自然的运动; 它会给你你需要就行了。

于是,寻找一个独特的性格接近,你想成为线。 在这种情况下. 是独一无二的,只是树皮之前。 因此, f. 。 然后l ,你是好。

因此,在总: 31jf.l

(这并不总是它是如何工作的。有时,它只是作为快速使用/bark一旦你跳下来就行了。有时它是更快地使用/bark最初,只是n多次到该行。Vim的给你这些工具,你的代码将永远是不同的。)



Answer 5:

千电子伏的回答假设的作品bark是一种不常见的字。 你可能会击中ñ好几次。

我想一起去

6 7 1个 G跳转到线,

$跳转到该行的结束,

2b拖放到b中的光标。

编辑 :阅读过安迪的回答,我真的同意这一点:

尽管所有VIM的疯狂键盘开机的,没有永远的直接,也没有好办法做一些事情,比如非常特殊的跳跃。

我会选择在近似步骤导航周围,像9j下井9线。 当你这样做的条件反射,你可以浏览比需要读取行号或字符位置快得多。 这可能最终会被更多的按键,但我更喜欢额外的速度。



Answer 6:

其实,我不想说,我认为最有效的方法是用你的鼠标,

另一种方法使用的命令行:/.*dog\&.*bark

这将减少频率相比/树皮(和许多ñ也许)



Answer 7:

跳跃到char在同一行的一个办法是没有提及,但。 使用

61|

61“管”,直接跳转到并[b]柜在控制模式。

我并没有将这一进我经常跳,因为数量通常是一个猜测。 与每行固定80个字符,你可以习惯它,这将是非常有效的。 但管道关键是不方便海事组织。 我打算在更多的时候使用它,因为它的优雅和高效化的。



文章来源: What is the most efficient way to reach a spot on sight on VIM?