vim删除多行

vim删除多行

跨行删除, 删除多行剪切多行

3大S=小c3小c=3小c小c , 删除本行及下方2行,共3行 , 留一个空行, 并进入插入编辑模式
c3↓=3c↓ , 删除本行及下方3行,共4行, 留一个空行,并进入插入编辑模式
c3↑=3c↑ , 删除本行及上方3行,共4行, 留一个空行,并进入插入编辑模式

冒号开头 , 可以有空格, 比如 :1,9d回车 可以写成 : 1 , 9 d 回车
:1,9d回车 剪切1到9行, 仍然停留在esc模式
:1,+9d回车 剪切1及之后9行,共10行, 仍然停留在esc模式
:99-9,99d回车 剪切99及之前9行,共10行, 仍然停留在esc模式
:99-9,130d回车 剪切99及之前9行,和99到130行, 仍然停留在esc模式

点或无表示本行
:,9d回车:.,9d回车 剪切本行到第9行, 仍然停留在esc模式
:-3,d回车:.-3,.d回车.:-3,d回车:-3,.d回车剪切本行及之前3行共4行,任然停留在esc模式
:,+4d回车:.,.+4d回车:.,+4d回车:,.+4d回车 剪切本行及之后4行共5行,任然停留在esc模式

删除剪切本行到开头,本行到末尾

:,$d:.,$ddG 剪切删除本行到最后一行, 任然停留在esc模式
:,1d:.,1dd1Gdgg 剪切删除本行到第一行, 任然停留在esc模式

删除

c,C,s,S纯删除,会进入编辑模式,
d,D,x,X是剪切,为 方便p,P粘贴,将保持在Esc模式

删除,然后自动进入文字插入模式
  1. 大S 清空光标行 (大写S) , 保留换行符, 行还在,变成空行,
    S=cc=c1c=1cc

    s 删除光标字符 (小写s) , 删除一个字符

  2. 大C 删除光标到行尾 (大写C) , 连同光标字符到行尾都删除, 并进入编辑模式

    c (小写c)操作语法类似dy , 作用是删除, 如同d, 只是执行后会进入编辑模式
    cc=c1c=1cc=S 清空光标行 , 保留换行符, 行还在, 变成了空行,
    3ch=c3h光标前三字符   3cl=c3l光标及后两字符
    c0行首到光标   c^本行第一个字符到光标   c$光标到行尾
    3ccc3c 本行和下两行
    C 光标到行末 (大写C)

删除,停留在 ESC 模式

d,D,x,X是剪切,有删除效果,并停留在ESC模式
dd=d1d=1dd 剪切(复制并删除)当前行, 行消失, 停留在ESC模式

小写x=1x~=约等于Delete: 删除光标字符, del键不是剪切,只删除,不复制

大写X=1X : 剪切左边一个字符, 回退键不会删除

小写88x剪切右边连同光标共88个字符

大写88X剪切光标左边(不含光标)88个字符

行内删除,删除整行
删除光标到本行开头 , 删除光标到本行末尾
  • d0 删除光标到本行开头, 停留在esc模式
    d^ 删除光标到第一个字母, 如果前面还有空格则不会到开头, 并停留在esc模式
    d$D 删除光标到本行末尾, 停留在esc模式

  • 大C 删除光标到行尾 (大写C) , 连同光标字符到行尾都删除, 并进入编辑模式
    大S 清空光标所在行, 并进入编辑模式

删除当前整一行

删除当前整行的效果有:

  1. 连同换行符一起删除,行消失
  • cc=c1c=1cc=大S 清空光标行 , 保留换行符, 行还在, 变成了空行,并进入插入编辑模式
  1. 保留换行符,行还在,变成空行,保留空行
  • dd=d1d=1dd 剪切(复制并删除)当前行, 行消失, 停留在ESC模式
跨行删除, 删除多行剪切多行

3大S=小c3小c=3小c小c , 删除本行及下方2行,共3行 , 留一个空行, 并进入插入编辑模式
c3↓=3c↓ , 删除本行及下方3行,共4行, 留一个空行,并进入插入编辑模式
c3↑=3c↑ , 删除本行及上方3行,共4行, 留一个空行,并进入插入编辑模式

冒号开头 , 可以有空格, 比如 :1,9d回车 可以写成 : 1 , 9 d 回车
:1,9d回车 剪切1到9行, 仍然停留在esc模式
:1,+9d回车 剪切1及之后9行,共10行, 仍然停留在esc模式
:99-9,99d回车 剪切99及之前9行,共10行, 仍然停留在esc模式
:99-9,130d回车 剪切99及之前9行,和99到130行, 仍然停留在esc模式

点或无表示本行
:,9d回车:.,9d回车 剪切本行到第9行, 仍然停留在esc模式
:-3,d回车:.-3,.d回车.:-3,d回车:-3,.d回车剪切本行及之前3行共4行,任然停留在esc模式
:,+4d回车:.,.+4d回车:.,+4d回车:,.+4d回车 剪切本行及之后4行共5行,任然停留在esc模式

删除剪切本行到开头,本行到末尾

:,$d:.,$ddG 剪切删除本行到最后一行, 任然停留在esc模式
:,1d:.,1dd1Gdgg 剪切删除本行到第一行, 任然停留在esc模式

正则匹配删除

:g/pattern/d 剪切匹配的所有行, 仍然停留在esc模式
:g!/pattern/d 剪切不匹配的所有行, 仍然停留在esc模式
:g/^$/d 剪切删除所有空行

将光标移到要删除的起始字符, 按大V(整行选)或 小v(片选) 或 ctrl+v(块选) 后, 然后按 dx删除并停在esc模式 , 或sc删除并进入编辑模式

.

删除本行及上下方几行

3大S=小c3小c=3小c小c , 删除本行及下方2行,共3行 , 留一个空行, 并进入插入编辑模式
c3↓=3c↓ , 删除本行及下方3行,共4行, 留一个空行,并进入插入编辑模式
c3↑=3c↑ , 删除本行及上方3行,共4行, 留一个空行,并进入插入编辑模式

:-3,d回车:.-3,.d回车.:-3,d回车:-3,.d回车 剪切本行及之前3行共4行,任然停留在esc模式
:,+4d回车:.,.+4d回车:.,+4d回车:,.+4d回车 剪切本行及之后4行共5行,任然停留在esc模式

删除所有行删除整个文件
  • :%d
  • :1$d
相关推荐
友友马8 分钟前
『 Linux 』网络层 - IP协议(一)
linux·网络·tcp/ip
A.A呐2 小时前
【Linux第一章】Linux介绍与指令
linux
Gui林2 小时前
【GL004】Linux
linux
ö Constancy2 小时前
Linux 使用gdb调试core文件
linux·c语言·vim
tang_vincent2 小时前
linux下的spi开发与框架源码分析
linux
xiaozhiwise2 小时前
Linux ASLR
linux
wellnw2 小时前
[linux] linux c实现共享内存读写操作
linux·c语言
a_安徒生2 小时前
linux安装TDengine
linux·数据库·tdengine
追风赶月、2 小时前
【Linux】线程概念与线程控制
linux·运维·服务器
小字节,大梦想2 小时前
【Linux】重定向,dup
linux