我听过不少关于Vim的消息 ,包括优势和缺点。 看起来你应该(做为开发人员)使用Vim比使用任何其余编辑器更快。 我正在使用Vim来作一些基本的东西,并且使用Vim,个人效率最多只有 10倍。 html
当你谈论速度时你应该关心的两件事(你可能不太关心它们,但你应该这么作)是: 正则表达式
这里有两个例子,说明为何我对Vim的效率低得多。 vim
复制/剪切和粘贴。 我一直这样作。 使用全部当代编辑器,您能够用左手按Shift键 ,而后用右手移动光标以选择文本。 而后按Ctrl + C复制,移动光标并按Ctrl + V粘贴。 编辑器
有了Vim,它太可怕了: 学习
yy
复制一行(你几乎从不但愿整个行!) [number xx]yy
将xx
行复制到缓冲区中。 但你永远不知道你是否选择了你想要的东西。 我常常要作[number xx]dd
而后u
撤消! 另外一个例子? 搜索和替换。 spa
/
,而后键入要搜索的内容,那么若是有一些特殊的字符放在\\
每一个特殊字符前,而后按Enter键 。 与Vim的一切都是这样的:彷佛我不知道如何以正确的方式处理它。 .net
个人问题是: htm
你使用Vim的方式是什么让你比现代编辑更有效率? ip
你在谈论文本选择和复制,我认为你应该看看Vim可视模式 。
在可视模式下,您可使用Vim命令选择文本,而后您可使用选择执行任何操做。
请考虑如下常见状况:
您须要选择下一个匹配的括号。
你能够这样作:
v%
若是光标在开始/结束括号上 vib
您想要在引号之间选择文本:
你想选择一个花括号块(在C风格的语言中很常见):
viB
vi{
您想要选择整个文件:
ggVG
可视块选择是另外一个很是有用的功能,它容许您选择文本的矩形区域,您只需按Ctrl - V启动它,而后选择所需的文本块并执行任何类型的操做,如yank,删除,粘贴,编辑等。编辑面向列的文本很是棒。
使用内置文件资源管理器! 命令是:Explore
,它容许您很是快速地浏览源代码。 我在.vimrc
有这些映射:
map <silent> <F8> :Explore<CR> map <silent> <S-F8> :sp +Explore<CR>
资源管理器也容许您进行文件修改。 我会发布一些我最喜欢的按键,按<F1>
将为您提供完整列表:
cd ..
) 我前几天刚刚发现了Vim的omnicompletion,虽然我认可我对它的做用有点朦胧,但我只是捣碎了Ctrl + x Ctrl + u或者Ctrl + n / Ctrl + p在插入模式下。 它不是智能感知 ,但我还在学习它。
试试看! :help ins-completion
批量文本操做!
经过宏:
qq
q
@q
(第一次), @@
以后。 20@@
或者经过正则表达式:
:%s/[fo]+/bar/g
(但要注意:若是你作后者,你将有2个问题:)。)
多个缓冲区,特别是它们之间的快速跳转,用于比较两个文件:bp
和:bn
(正确地从新映射到单个Shift + p或Shift + n )
vimdiff
模式(分红两个垂直缓冲区,颜色显示差别)
使用Ctrl + v进行区域复制
最后,标签完成标识符(搜索“mosh_tab_or_complete”)。 那是改变生活的方式。