欢迎光临散文网 会员登陆 & 注册

oeasy教您玩转vim - 42 - # 剪切进入

2021-09-09 07:53 作者:oeasy  | 我要投稿

剪切进入

回忆上节课内容🤔

  • 上次我们了解到了各种寄存器

  • :reg

    • ". 里面存储着上次插入的内容

    • "% 里面存储着当前文件的名字

    • ": 里面存储着刚刚执行的命令

    • 数字寄存器"0-"9

    • 行内删除专用寄存器"-

    • 指定寄存器"a-"z"A-"Z

    • 3个只读寄存器":"."%

    • 轮换文件寄存器"#

    • 表达式寄存器"=

    • 选择和拖拽寄存器"*"+"~

    • 黑洞寄存器"-

    • 搜索模式寄存器"/

    • 无名寄存器""

  • 插入模式下ctrl+r再加寄存器名称

  • 可以粘贴指定寄存器中的内容

  • d、x、y、p都在在正常模式

  • 删除之后能否自动切换进入插入模式呢?🤔

  • 翻帮助查到这个命令好像叫做s

找到手册📕

  • 想要知道s的作用,就要查一查

  • 也可以用 :h s

  • 这个s和x有点像

    • 都是删除当前字符

    • 都是默认放入无名寄存器""

    • 如果设定某个命名寄存器,就放入命名寄存器

    • 都可以通过[count]翻倍

  • 不同在于删除之后的的模式

    • x保持在 普通模式

    • s进入到了 插入模式

  • 这其实很爽

  • 因为很多时候删除了之后就是希望进入插入模式的!!!

  • S是删除当前这一行,然后进入插入模式

    • 相当于d$i

有用的c

  • c 的意思是change

  • 这个c和d有点像

    • 都是删除当前内容

    • 都是默认放入无名寄存器""

    • 如果设定某个命名寄存器,就放入命名寄存器

    • 都可以通过[count]翻倍

    • 而且都支持motion

  • 不同之处就是就是完成工作后

    • d保持在普通模式

    • c进入到了插入模式

  • 比如我想把hello world!变成hello oeasy

  • 那么我需要

    • dw删除到当前单词word词尾

    • i然后再进入插入模式

    • 输入oeasy

    • 然后esc完成

  • 现在我只需要

    • cw删除到当前单词word词尾

    • 直接进入插入模式

    • 输入oeasy

    • 然后esc完成,一气呵成

  • 如果要删除的位置很远

  • 可以考虑cft

  • 配合.来操作

配合重复

  • n是下一个

  • .是cwfiveesc

    in操作

  • 这次我们的光标位置在这个单词中间

  • 我如果想要删除world怎么办?

    • 我需要先b回词头

    • cw删除到词尾

    • 这还是有点麻烦

  • 现在只需要一句话

    • ciw就可以一气呵成

in

  • 不论光标在单词里面什么位置

  • 只要是这个 word 范围内的都可以删除

  • 这个时候如果是 ciW 意味着不是 word 而是 WORD

  • 类似的还有·

    • ci(、ci(删除小括号里面的

  • ci[、ci]删除中括号里面的

  • ci"删除双引号里面的

  • ci'删除单引号里面的

  • 这在编程时是非常实用的!!!🤓

文字对象

  • cis删除当前这句

  • cip删除当前这段

tag块标签

git clone http://github.com/overmind1980/vimtutorial.git cd vimtutorial vi oeasy.html

  • cit

    • 删除tag里面的内容

  • cat

    • 删除包括标签本身

  • c2it删除两层标签里面的

    • 这个功能在htmlxml很有效率

block块

  • ci{、ci}

    • 删除大括号里面的

  • ciB

    • 也有同样的效果

    • c2i{、c2i}删除两层大括号里面的


    • 这个功能也可以和d、y配合,非常爽!!

    • 大规模程序块控制

关于ia的整理

  • h aw可以看到相关资料

  • w word 小词

  • W Word 大词

  • s sentence 句子

  • p paragraph 段落

  • () 小括号

  • [] 中括号

  • {} 大括号

  • t tag 标签

    • it 标签内部 不包含标签

    • at 标签外部 包含标签

  • "' 引号

细节

  • s

    • 相当于cl

    • 也相当于dl,再进入插入模式

  • S

    • 删除当前行d$

    • 再进入插入模式

  • C

    • 相当于c$

    • 也相当于d$,再进入插入模式

    • 也就是D,再进入插入模式

  • cc就是

    • 删除当前行并进入插入模式

    • 等同于S

  • 2C

    • 相当于删除两行,再进入插入模式

    • 也就是2D,再进入插入模式

总结

  • 这次我们学到的最有用的就是c

    • 他和d的区别就是删除之后进入到插入模式

    • c可以配合motion

    • 可以用ciw来快速删除当前光标所在的单词

  • 可i和a的文字块

    • it 标签内部 不包含标签

    • at 标签外部 包含标签

    • w word 小词

    • W Word 大词

    • s sentence 句子

    • p paragraph 段落

    • () 小括号

    • [] 中括号

    • {} 大括号

    • t tag 标签

    • "' 引号

  • 还有没有更快速的办法进行编辑吗?🤔

  • 下次再说 *

[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)


oeasy教您玩转vim - 42 - # 剪切进入的评论 (共 条)

分享到微博请遵守国家法律