oeasy教您玩转vim - 43 - # 替换模式

Posted overmind1980

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oeasy教您玩转vim - 43 - # 替换模式相关的知识,希望对你有一定的参考价值。

替换模式

回忆上节课内容????

  • 上次我们学到的最有用的就是<kbd>c</kbd>
    • 他和<kbd>d</kbd>的区别就是删除之后进入到插入模式
    • <kbd>c</kbd>可以配合motion
    • 可以用<kbd>c</kbd><kbd>i</kbd><kbd>w</kbd>来快速删除当前光标所在的单词
  • 可<kbd>i</kbd>和<kbd>a</kbd> 配合的文字块
    • w word 小词
    • W Word 大词
    • s sentence 句子
    • p paragraph 段落
    • () 小括号
    • [] 中括号
    • {} 大括号
    • t tag 标签
      • it 标签内部 不包含标签
      • at 标签外部 包含标签
    • "\' 引号
  • 还有没有更快速的办法进行编辑吗?????

动手练习

  • 当前光标在e上面,如上图
    • 如果我们<kbd>d</kbd><kbd>f</kbd><kbd>o</kbd>,会如何?
      • <kbd>esc</kbd>撤回来
    • 如果我们<kbd>d</kbd><kbd>t</kbd><kbd>o</kbd>,会如何?
      • <kbd>esc</kbd>撤回来
    • 如果我们<kbd>d</kbd><kbd>i</kbd><kbd>{</kbd>,会如何?
      • <kbd>esc</kbd>撤回来
    • 如果我们<kbd>d</kbd><kbd>F</kbd><kbd>o</kbd>,会如何?
      • <kbd>esc</kbd>撤回来
    • 如果我们<kbd>d</kbd><kbd>2</kbd><kbd>f</kbd><kbd>o</kbd>,会如何?
      • 这些都可以试一下,玩一下?
    • 还有什么可以很神奇的操作吗?
    • 各种试试,把结果告诉我!
  • 这次我们要研究更快速的模式,替换模式

找到手册????

  • 还是在change.txt里面上下翻,找到了<kbd>r</kbd>
  • 可以用:h r

  • 看起来是什么不对,就直接放到那个位置
  • 然后 <kbd>r</kbd> 成想要的

来试一下

  • 可以用r来进行修改

再试试

  • 把光标放在oeasy中的a上,模式处于普通模式
  • <kbd>r</kbd><kbd>1</kbd>
  • 就会把原来的a替换为1
  • 如果要把1替换为一个回车换行
  • 就要<kbd>r</kbd><kbd>回车</kbd>
  • 支持[count],比如4r2,替换4个字符,都变成2
  • 就像下面这样

替换模式

  • 这次我们来看看大写<kbd>R</kbd>
  • :h R

  • 在正常模式下,用<kbd>R</kbd>进入改写模式
  • 可以在左下角状态栏观察到
  • 然后光标在oeasya上面
  • 写入1234
  • 我们看到原来的文字被替换掉了

大小写的改写

  • 我们常用的其实还有个人物
  • 就是改大小写
  • 这个是 ~
  • 可以 :h ~ 查询手册

tilde

  • 这个符号叫做~波浪号(tilde)
  • 把光标放在某个字符上
  • 摁下<kbd>~</kbd>
  • 大写变小写,小写变大写
  • 这个<kbd>~</kbd>还支持 [count]
    • 比如<kbd>2</kbd><kbd>~</kbd>
    • 把两个字符都设置~
  • <kbd>g</kbd> <kbd>~</kbd> 就支持motion
    • 这个很实用
  • 如果设置:set tilderop
    • <kbd>~</kbd> 就支持motion
    • 比如<kbd>~</kbd><kbd>e</kbd>
    • 但是单个字母的大小写修改就不管用了
    • 需要<kbd>~</kbd><kbd>l</kbd>
    • 其实我们平时还是控制字母大写的情况多
  • 所以:se notilderop

总结

以上是关于oeasy教您玩转vim - 43 - # 替换模式的主要内容,如果未能解决你的问题,请参考以下文章

oeasy教您玩转vim - 55 - # 参数替换

oeasy教您玩转vim - 53 - # 批量替换

oeasy教您玩转vim - 67 - # 批量替换

oeasy教您玩转vim - 44 - # 综合练习

oeasy教您玩转vim - 68 - # 标签页tab

oeasy教您玩转vim - 49 - # 命令进阶