我听说过很多关于Vim的事,包括优点和缺点。 (作为一名开发人员)使用Vim确实应该比使用其他任何编辑器都要快。 我用Vim来做一些基本的事情,我用Vim最多只能减少10倍的效率。

当你谈论速度时,只有两件事你应该关心(你可能不够关心,但你应该关心):

左右交替使用的 用手是最快的方法 键盘。 永远不要碰鼠标 第二种方法是尽可能快。 你要花很长时间才能移动你的手, 抓住鼠标,移动它,把它带来 回到键盘上(你经常这样做 看看键盘,确保你 将你的手正确地回到正确的位置)

下面的两个例子说明了为什么我使用Vim效率低得多。

复制/剪切和粘贴。我一直都这么做。在所有当代编辑器中,你用左手按Shift键,用右手移动光标来选择文本。然后按Ctrl+C复制,移动光标,按Ctrl+V粘贴。

Vim的情况很糟糕:

Yy复制一行(你几乎不需要整行!) [number xx]yy复制xx行到缓冲区。但你永远不知道你是否选择了你想要的。我经常要做[number xx]dd然后u来撤销!

另一个例子吗?搜索和替换。

在PSPad中:按Ctrl+f,然后输入你想要搜索的内容,然后按Enter。 在Vim: /中,然后输入你想要搜索的内容,然后如果有一些特殊字符,在每个特殊字符前放\,然后按Enter。

Vim的一切都是这样的:似乎我不知道如何正确处理它。

注:我已经读了Vim小抄:)

我的问题是:

与当代编辑器相比,您使用Vim的哪些方式使您的工作效率更高?


当前回答

在搜索的任何地方使用\c来忽略大小写(覆盖你的ignorecase或smartcase设置)。 例如/\cfoo或/foo\c将匹配foo, foo, foo, foo等。

在搜索的任何地方使用\C强制大小写匹配。 例如/\Cfoo或/foo\C只匹配foo。

其他回答

有大量的vim技巧,但到目前为止,我真正喜欢的是Ctrl+A,因为我碰巧在处理一些硬编码数组索引的st**d代码。

在搜索的任何地方使用\c来忽略大小写(覆盖你的ignorecase或smartcase设置)。 例如/\cfoo或/foo\c将匹配foo, foo, foo, foo等。

在搜索的任何地方使用\C强制大小写匹配。 例如/\Cfoo或/foo\C只匹配foo。

<Ctrl> + W, V垂直分割屏幕 <Ctrl> + W, W在窗口之间移动

!python % [args]来运行我在此窗口中编辑的脚本

ZF在可视模式下折叠任意线条

我最近发现了这个网站:http://vimcasts.org/

非常新,而且非常非常好。运行网站的人从textmate切换到vim,并在特定的vim主题上进行了非常出色和简洁的cast。点击这里查看详情!

批量文本操作!

通过宏:

开始录音:qq 做的东西 停止录制:q 重复:@q(第一次),然后@@。 重复20次:20@@

或者通过正则表达式:

替换stuff::%s/[fo]+/bar/g

(但要注意的是:如果你选择后者,你会遇到两个问题:))