dd
删除当前行。,dw
删除当前光标位置到单词末尾的内容。,d$
删除从光标位置到行尾的内容。,d0
删除从光标位置到行首的内容。Linux vi命令 删除
在Linux操作系统中,vi编辑器是一个功能强大的文本编辑工具,它不仅可以用来创建和编辑文本文件,还提供了许多强大的命令来操作文本内容,删除操作是vi编辑器中最常用的功能之一,本文将详细介绍vi命令中的删除操作,包括字符、单词、整行以及特定模式的删除方法。
1. 基本概念
在使用vi编辑器时,了解一些基本概念非常重要:
正常模式:这是vi的默认模式,用于执行各种命令。
插入模式:在这个模式下,你可以输入文本,按下i
键进入插入模式。
可视模式:这个模式允许你对选定的文本进行操作,按下v
键进入可视模式。
2. 删除单个字符
在正常模式下,可以使用以下命令删除单个字符:
x
:删除光标所在位置的字符,并移动光标到下一个字符的位置。
X
:删除光标所在位置的前一个字符,并移动光标到前一个字符的位置。
命令 | 描述 |
x | 删除当前字符并移动光标到下一个字符的位置 |
X | 删除当前字符的前一个字符并移动光标到前一个字符的位置 |
如果你的光标位于以下文本中的字母e
上:
Hello World
按下x
后,文本将变为:
Hell World
再按一次x
,文本将变为:
Hel World
3. 删除单词
在正常模式下,可以使用以下命令删除整个单词:
dw
:删除从光标位置开始到下一个空白字符之间的所有字符(即一个单词)。
db
:删除从光标位置开始到上一个空白字符之间的所有字符(即一个单词)。
命令 | 描述 |
dw | 删除当前单词 |
db | 删除前一个单词 |
如果你的光标位于以下文本中的字母W
上:
Hello World
按下dw
后,文本将变为:
Hello
再按一次dw
,文本将变为:
Hell
4. 删除整行
在正常模式下,可以使用以下命令删除整行:
dd
:删除当前行。
命令 | 描述 |
dd | 删除当前行 |
如果你的光标位于以下文本中的任意一行:
Line 1: Hello World Line 2: This is a test Line 3: End of file
按下dd
后,光标所在的行将被删除,文本将变为:
Line 1: Hello World Line 3: End of file
5. 删除多行
在正常模式下,可以使用以下命令删除多行:
ndd
:删除当前行及其下面的n-1
行。3dd
会删除当前行及其下面的两行。
命令 | 描述 |
ndd | 删除当前行及其下面的n-1 行 |
如果你的光标位于以下文本中的第二行:
Line 1: Hello World Line 2: This is a test Line 3: End of file
按下3dd
后,文本将变为:
Line 1: Hello World End of file
6. 删除特定模式的文本
在正常模式下,可以使用以下命令删除符合特定模式的文本:
d/pattern/
:删除从光标位置开始到匹配pattern
的第一个字符之间的所有字符。d/test/
会删除从光标位置开始到第一个匹配“test”的字符之间的所有字符。
d?pattern?
:删除从光标位置开始到匹配pattern
的第一个字符之间的所有字符,但不包括该字符本身。d?test?
会删除从光标位置开始到第一个匹配“test”的字符之间的所有字符,但不包括该字符本身。
dg
:删除当前行中的所有字符。dG
会删除当前行中的所有字符。
命令 | 描述 |
d/pattern/ | 删除从光标位置开始到匹配pattern 的第一个字符之间的所有字符 |
d?pattern? | 删除从光标位置开始到匹配pattern 的第一个字符之间的所有字符,但不包括该字符本身 |
dG | 删除当前行中的所有字符 |
如果你的光标位于以下文本中的任意一行:
This is a test line. Another line here. End of file.
按下d/test/
后,文本将变为:
This is a line. Another line here. End of file.
再按一次d/test/
,文本将变为:
This is a line. Another line here. End of file.
7. 其他有用的删除命令
除了上述提到的命令外,还有一些其他的删除命令也非常有用:
D
:删除从光标位置到行尾的所有字符,如果光标位于以下文本中的任意一行:
Line 1: Hello World Line 2: This is a test Line 3: End of file
按下D
后,文本将变为:
Line 1: Hello Worl Line 2: This is a tes Line 3: End of fie
C
:更改命令,等同于c$
,它会删除当前行中的所有字符,然后进入插入模式,如果光标位于以下文本中的任意一行:
Line 1: Hello World Line 2: This is a test Line 3: End of file
按下C
后,文本将变为:
Line 1: Hello World<cursor> here> Line 2: This is a test<cursor> here> Line 3: End of file<cursor> here>
cc
:更改整行命令,等同于c
,它会删除当前行中的所有字符,然后进入插入模式,如果光标位于以下文本中的任意一行:
Line 1: Hello World Line 2: This is a test Line 3: End of file
按下cc
后,文本将变为:
<cursor> here> <cursor> here> <cursor> here>
r
:替换命令,它会用你输入的一个字符替换光标位置的字符,如果光标位于以下文本中的字母e
上:
Hello World
按下rx
后,文本将变为:
Hxllo World
~
:大小写转换命令,它会将光标位置的字符转换为其相反的大小写形式,如果光标位于以下文本中的字母H
上:
hELLO World
按下“后,文本将变为:
hELLO World
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1269485.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复