对 Practical Vim 一书的总结

引言

如果有一个神器让你在编辑文件的过程中不需要用到鼠标(有些人可能会说,我一直用笔记本的触摸板,从没用到过鼠标,哈哈),你会用它吗?但是如果这个神器需要一点学习成本,你会选择使用它吗?我相信这个答案会因人而异,因为每个决定的背后都有一个 trade-off,就像算法一样(在空间与时间之间做出选择),所以找出当下环境下适合自己的决定才是最重要的。

如果你的决定刚好是选择使用这个神器,那么这篇文章的目的就是大大减小你的学习成本。看这篇文章之前,我希望你能先读一读这篇文章:从Vim小白到Vim superstar,它可以让你收获很多!我本想把整本书中所有的 tips 总结下来,后来想一想完全没有必要,当你搞定这2篇文章以后,如果你对 Vim 还有更大的兴趣的情况下,你可以读完整本书,了解 Vim 更多的玩法,然后你可以尝试着去了解 Vim 的哲学。当然了,如果你熟练这2篇文章介绍的命令,相信你一定可以快速地编辑文件

显然,我并没有列出所有 Vim 的玩法,但是在你的脑海中一定要有这样一种思维方式:在 Vim 中,想要完成一个编辑任务可以有多种方式,有没有更简单的方式来完成这样的编辑任务。比如:现在想要删除一个字符,你完全可以进入 insert 模式下,然后删除字符,最后退回到命令行模式; 然而,你可以直接用 x 命令就可以做到这点。

Tip 2 - Don’t Repeat Yourself

下面是一段JS代码,但是每个语句后面没有分号。我想在这3行代码的末尾加上分号。用Vim其实可以很快就做到这点。假设我当前光标在第一行开头。

var foo = 1
var bar = 'a'
var foobar = foo + bar
  1. A; 在第1行末尾插入一个分号
  2. j. 把光标移动到第二行,重复步骤1的命令
  3. j. 把光标移动到第三行,重复步骤1的命令

下面是用一个按键就可以替代组合键的方式。

Practical Vim

Tip 3 - Take One Step Back, Then Three Forward

下面是一段JS代码,但是字符串之间的连接全部紧邻在一起,没有用合适的空格把它分开。因此我想把下面的JS代码

var foo = "method("+argument1+","+argument2+")";

变成下面的样子

var foo = "method(" + argument1 + "," + argument2 + ")";

用下面的方式就可以快速的做到这一点。

Take One Step Back, Then Three Forward

  1. f+ 在当前行中寻找字符’+
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值