【极客时间-系列教程】Vim 实用技巧必知必会-更多常用命令:应对稍复杂的编辑任务

文章目录

  • 更多常用命令:应对稍复杂的编辑任务
    • 光标移动
    • 文本修改
    • 文本对象选择

更多常用命令:应对稍复杂的编辑任务

几个基本的命令已经了解了,可以操作简单的任务,但一些很复杂的命令,并没有了解到,只知道几个简单的命令并不一定会提高效率,要想提高效率还需要后面的更多命令。

光标移动

光标移动可以通过h、j、k、l 四个键实现,之所以用这几个键因为Bill Joy 开发vi的时候没有独立的光标键,现在光标键也是可以移动的。
【极客时间-系列教程】Vim 实用技巧必知必会-更多常用命令:应对稍复杂的编辑任务_第1张图片
Lear Siegler ADM-3A 终端键盘的排布(图片源自维基百科)

之前的咱就不说了,现在我们来感受一些快捷的操作和按键吧
移动超过一个字符的情况使用b/w和B/W

  • b/B words Backward向后跳转
  • w/W Words forward向前跳转
  • 0 移动到该行的行头
  • ( 和 ) 移到上一句和下一句
  • { 和 } 移到上一段和下一段
  • gg 跳转到开头
  • G 跳转到结尾行

b/w的大小写区别在于

小写的跟编程语言里的标识符的规则相似,认为一个单词是由字母、数字、下划线组成的(不严格的说法),而大写的命令则认为非空格字符都是单词

找段文字快来试试神奇的效果吧,奥,对了这个是在普通模式下操作的。

文本修改

  • d 加动作来进行删除(dd 删除整行);D 则相当于 d$,删除到行尾。
  • c 加动作来进行修改(cc 修改整行);C 则相当于 c$,删除到行尾然后进入插入模式。
  • s 相当于 cl,删除一个字符然后进入插入模式;S 相当于 cc,替换整行的内容。
  • i 在当前字符前面进入插入模式;I 则相当于 ^i,把光标移到行首非空白字符上然后进入插入模式。
  • a 在当前字符后面进入插入模式;A 相当于 $a,把光标移到行尾然后进入插入模式。
  • o 在当前行下方插入一个新行,然后在这行进入插入模式;O 在当前行上方插入一个新行,然后在这行进入插入模式。
  • r 替换光标下的字符;R 则进入替换模式,每次按键(直到 )替换一个字符。
  • u 撤销最近的一个修改动作;U 撤销当前行上的所有修改。

以上命令是要熟记于心的,并进行实际操作,否则过一段时间就会忘掉了。

文本对象选择

以以下文本为例

if (message == "sesame open")
  • dw(理解为 delete word)会删除 ame␣,结果是 if (message == “sesopen”)
  • diw(理解为 delete inside word)会删除 sesame,结果是 if (message == " open")
  • daw(理解为 delete a word)会删除 sesame␣,结果是 if (message == “open”)
  • diW 会删除 “sesame,结果是 if (message == open”)
  • daW 会删除 “sesame␣,结果是 if (message == open”)
  • di" 会删除 sesame open,结果是 if (message == “”)
  • da" 会删除 “sesame open”,结果是 if (message ==)
  • di( 或 di) 会删除 message == “sesame open”,结果是 if ()
  • da( 或 da) 会删除 (message == “sesame open”),结果是 if␣
  • ,分别代表 Backward 和 Forward。

这章节讲述的很多,还有一部分是适合使用vim编写代码的,vim的博大精深,还需认真实操和记忆。

注:此文章为11月Day14学习笔记,内容来源于极客时间《Vim 实用技巧必知必会》

你可能感兴趣的:(极客时间学习笔记,vim,编辑器,linux)