【vim学习笔记三】查找替换

命令模式操作

  • w光标移动到下一个word
  • b光标移动到上一个word
  • (光标移动到上一个句子
  • )光标移动到下一个句子
  • {光标移动到上一个段落
  • }光标移动到下一个段落

Change Delete Yank(copy)
Line(一行) cc dd yy
Letter(字母) cl dl yl
Word(单词) cw dw yw

一行

  • ccchange某行,删除该行并进入插入模式
  • dd删除该行,不进入插入模式
  • yy复制该行
  • p粘贴(修改,删除的数据都会有一个隐形的复制操作)
    • p粘贴在行的上面(小写)/字符在右/
    • P粘贴在行的上面(大写)/字符左侧/

删除技巧
dtc删除光标到c之间的所有字符
rc(replace)将光标位置替换为c
5dd删除5行
5yy复制五行数据
5x删掉5个字符
R替换(覆盖书写)

一个字母

  • cl dl yl

一个单词

  • cw dw yw

撤销与redo

  • u撤销
  • ctrl+r Redo

搜索

  • /text往后搜索text
  • ?text往前搜索text
  • n搜索上一次同样的内容
  • N往前(相对)搜索相同的内容

文件内定位

:set number开启行号

  • G跳转到文件的最后一行
  • 1G 跳转到第一行(1为行号),gg也是跳转到第一行
  • ctrl+d往下滚动半屏
  • ctrl +u往上滚动半屏

屏幕定位相关

  • H (head)跳转到本屏显示的第一行
  • M (middle)跳转到本屏显示的中间
  • L (last)跳转到本屏显示的最后一行
  • z+Enter 当前行为显示第一行
  • z-当前行成为显示的最后一行

查找与批量替换

  • :s/ 表示通过sed命令进行查找替换
    • :s/i/- 将本行的第一个i替换为-
    • :s/i/-/g最后的一个g表示替换该行的所有i
    • :1,10s/i/-/g替换1-10行所有的i-
    • :1,$s/i/-/g 末尾行用$表示到文件末尾

读取和保持

  • :r filename读入filename文件的内容到光标后
  • :1,20 w filename 将本文件的1-20行文本 写入到新的filename文件中
  • :1,$ w filename 全文本复制(另存编辑结果)
    • :3,$ w>>filename管道追加

设置

  • :set可以查看设置项
  • :set all查看所有设置

发表评论

电子邮件地址不会被公开。 必填项已用*标注