Vim的小顿悟

作者: oceandull | 来源:发表于2014-02-19 18:52 被阅读426次

像我这样习惯了鼠标操作的程序员,学习Vim不是件容易的事。打个夸张的比喻,就好像走路再也不能用腿了,必须倒立过来用手前进。花了大约两个月的时间,终于有点融入血液的感觉,肌肉有了记忆,以至于无论哪里看见光标在闪,都会下意识的按j。

然而挫折感还是无处不在,对付的方法是1)忍着,这样才能成为忍者,2)一点一点进步。有趣的时,有时会有一些小的顿悟。比如最近某天我突然意识到某个痛苦的场景是固定的,一直在重复发生。端杯茶躲进会议室思过,认识到自己‘用错了’Vim,需要意识上的转换。

举个例子,假设有一行文字原先是这样写的:

today.downto(today.days_ago(day_count-1)) {|day| puts day.to_s}

然后我想day_count这个变量名不够好,想要重新命名成num_of_days。未入Vim大坑前,我会用鼠标双击选中day_account,然后松开鼠标,双手去键盘上敲出num_of_days。而现在,我的Vim习惯是,先把鼠标定位到day_count的首字母d,然后

  1. 按键i,进入编辑模式
  2. 敲入number_of_days
  3. 按ESC,回到命令模式,这时光标定位在number_of_days的末字母s

today.downto(today.days_ago(num_of_daysday_count-1)) {|day| puts day.to_s}

  1. 按键l,让光标右移到字母d
  2. 按键dw,删除day_count

多么繁琐的操作!然而作为菜鸟的我天天N次这么干。真正让我醒过来的是步骤3和4,猛然发现自己使用Vim的一个常见模式是,按下ESC以后通常总是要按一下l,多么的土鳖!土鳖中的战斗鳖!

痛定思痛后的结论是,做事要用脑子,要尊重Vim的各种命令的本意。做任何一个编辑操作前,要想清楚究竟是以下哪一类:

  1. 纯粹的插入(听起来有点不对劲,汗颜)
  2. 纯粹的删除
  3. 修改(也就是将一段文字换成另外一段)

只有第一种情况,才应该用i。第二种用d加上各种组合键。而我的上述行为,完全应该用c+组合键。也就是说,更‘Vim’的方式是,先把鼠标定位到day_count的首字母d,然后

  1. 按键cw
  2. 敲入number_of_days
  3. 按ESC

顿悟很小,喜悦很大。只不过,现在每一步Vim的操作,我都开始碎碎念,“我到底要干嘛呢,是洗剪吹,哦不,是增删改的哪一种呢”

相关文章

  • Vim的小顿悟

    像我这样习惯了鼠标操作的程序员,学习Vim不是件容易的事。打个夸张的比喻,就好像走路再也不能用腿了,必须倒立过来用...

  • #小顿悟#

    文|临安初语 又想起了那句:“苦心人,天不负,三千越甲可吞吴。” 是呀,我最应该相信的人是自己。 是呀,我最应该正...

  • 小艾的顿悟

    小艾和男朋友分手快三个月了,这三个月小艾过的很痛苦,经常在夜里失眠,在夜里思念,这期间小艾试过各种方法晚会男友,可...

  • 稍稍的小顿悟

    2019 不知为何19就已经预料到一人一屋一生真的是我自己人生最好的状态,可以有三两个知心好友,可以养养花花草草,...

  • 生活小顿悟

    此刻我有一个重大的决定,以后的任何日子任何事都要遵从自己的内心感受。什么都可以委屈,就是不能委屈自己的心。 虽然我...

  • 午后小顿悟

    记不清有多久了是这种状态了:生活中总是充满了忙忙碌碌、急急慌慌和杂乱无章。步履匆匆,行色匆忙几乎成了我生活的主旋律...

  • VIM的小介绍

    声明:本文虽然不是本人100%原创,但也是辛辛苦苦整理的,可以转载,但请注明出处 Vim 是什么? Vim 就是一...

  • error while loading shared libra

    小甲鱼vim课程小程序在Ubuntu上运行出现的错误

  • Vim小总结

    1.使用vim打开文件 vim filename 打开文件,如果没有则创建文件并打开打开文件 vim file1 ...

  • vim小技巧

    前言 这里总结一些 vim 常用的命令或技巧,以方便工作中查询使用。 在每行前加行号 结束语 希望上面的一些技巧能...

网友评论

  • 老杜还在:我也是初学者,映射不是难事,关键还是你提到的思维方式的变化,总拿以前的想法来驱动行为,还是原来的效率。
    vim的学习曲线决定了只能慢慢来。
  • oceandull:@Maxint64 多谢指教,键映射这么高级的事宜还没敢试过,感觉时机还不成熟,等我不再碎碎念的时候可能就差不多可以动手了,:P
  • 未知用户sal:将ESC映射为其它的组合键,比如kj,用起来会舒服一些,不用每次都去够那么远的ESC了
    (*^-^*)

本文标题:Vim的小顿悟

本文链接:https://www.haomeiwen.com/subject/otphtttx.html