Skip to content
On this page

放慢脚步:删改重做,提升效率的新姿势

在日常使用中,我们有个功能是常常需要用到的,就是删除;前面我们学了 d c 这些指令,但是我们要进行删除一行中的某些字符时,要么得先用 v 选中内容然后 dc,不然只能用键盘上的退格(删除)键。但是键盘的删除有几个问题:

  • 键盘的 Delete 按键太远,每次按都要移动手掌
  • 删除按键是单字符删除,删除效率低
  • 系统的删除与 vim 的配合不够契合

既然如此,我们来看看 vim 是如何解决这些问题的。

删除

对于删除,可以使用一下指令(命令模式中):

  • x:删除当前光标所在字符
  • X:删除当前光标所在字符的前一个字符
  • s:删除当前光标所在字符并进入 insert mode
  • S:删除当前光标所在行的除缩进外的所有内容并进入 insert mode

替换

对于有些情况下,我们可能要修改部分字符,比如修改某个函数的名称;虽然我们可以先删除,再重新键入,但是在 vim 中有更好的方法:

  • r + 字符:替换当前光标所在字符
  • R + 字符:替换当前光标开始的多个字符

撤销/重做

对于一些误操作,我们常常需要撤销或重做,大部分软件中都有这个操作,vim 也不例外:

  • u:撤销一次操作的内容

提示

normal mode => insert mode => normal mode 为一次操作,或在 insert mode 中进行了光标移动也会增加一次

  • ctrl + r:重做

小训练

const bbb = () => {
  // this is is a description
  //
  //   another descriptttion 
  const timer   = setTimeout(( ) => {
    console.log(that) alert('cool!')
    // awosome man !
  })
}