vi/vim命令-复制-粘贴-撤销-删除-替换-刷新

1 篇文章 0 订阅

复制

# 复制 #
yy 或者 Y复制游标所在行整行
2yy 或者 y2y复制两行
y^ 或者 y0复制至行首,不含游标所在处字元
y$复制至行尾。含游标所在处字元
yw复制一个word
y2w复制两个字(单词)
yG复制至档尾
y1G复制至档首
鼠标选中文本先 alt+e,然后按 c

粘贴

# 粘贴 #
p贴至游标后(下)
P贴至游标前(上)
如果只是想使用系统粘贴板的话直接在输入模式按Shift+Inset就可以了
先 alt+e,然后按 p

撤销

  • u 撤销上一步的操作
  • Ctrl+r 恢复上一步被撤销的操作

删除

  • c 功能和d相同,区别在于完成删除操作后进入INSERT MODE

  • cc 也是删除当前行,然后进入INSERT MODE

  • 删除每行第一个字符 :%s/^.//g ? 试试

  • X 删除光标所在前字符

  • dw 删除到下一个单词开头

  • de 删除到本单词末尾

  • dE 删除到本单词末尾包括标点在内

  • db 删除到前一个单词

  • dB 删除到前一个单词包括标点在内


同时打开多个文件

vi .bash_profile .bashrc

  • 切换 ——后一个文件

      :n
    
  • 切换 ——前一个文件

  •   :N
    

全局替换

一、基本语法

替换命令语法:

:[addr]s/源字符串/目标字符串/[option]

全局替换:

:%s/源字符串/目标字符串/g

参数说明:

  • [addr]——表示检索范围,省略时表示当前行。

      "%":表示整个文件,同"1,$";
      ".,$":从当前行到文件尾;
      s:表示替换操作
    
  • [option]:表示操作类型

      g:全局替换
      c:表示进行确认
      p:表示替换结果逐行显示(Ctrl+L恢复屏幕)
      省略option:默认仅对每行第一个匹配串进行替换
    

如果在源字符串和目标字符串中有特殊字符,需要使用“\”转义

二、使用示例

1.常用场景

:s/str1/str2/ ——用str2替换当前行中首次出现的str1
:s/str1/str2/g ——用str2替换当前行中所有出现的str1
:.,\$s/str1/str2/g ——用str2替换正文当前行到末尾所有出现的str1
:1,\$s/str1/str2/g ——用str2替换正文中所有出现的str1
:%s/str1/str2/ ——替换每一行中所有str1为str2
:%s/str1/str2/(等同于:g/str1/s//str2/) ——替换每一行的第一个str1为str2
:%s/str1/str2/g(等同于:g/str1/s//str2/g) ——替换每一行中所有str1为str2

2.g选项总结:

g放在命令末尾,表示对搜索字符串的每次出现进行替换;不加g,表示只对搜索字符串的首次出现进行替换。
g放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

刷新
:e
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值