虚拟机vi编辑器里删除命令怎么用才不会出错?掌握这些核心操作,彻底告别误删困扰
在虚拟机vi编辑器中,删除不出错的核心原则是:先确定光标位置,再选择最小删除单位,最后善用u撤销命令兜底,删除命令本身并不复杂,出错大多是因为操作时对光标所在位置和命令作用范围判断不清。
对于刚接触Linux系统的用户来说,在虚拟机上用vi编辑器修改配置文件时,最担心的事情莫过于删错了内容还不知如何撤销,很多人都有过这样的经历:本来只想删除一个字符,结果按错键整行都没了,这可能让你觉得vi编辑器的删除操作很难掌握,但实际上,只要理解了它删除命令的设计逻辑,操作起来会非常顺手。
vi编辑器删除行命令详解:从单个字符到整行内容
vi编辑器的工作模式决定了删除命令的使用方式,默认打开文件时处于普通模式,在这个模式下直接按键盘上的按键即可触发删除操作,新手容易在插入模式下手动删除字符,这样效率较低,先按Esc键切回普通模式再操作会便捷得多。
逐字符删除命令:x和X的精准操作
- x键:删除光标所在位置的字符,光标在哪个字符上,按下x就删哪一个。
- X键(Shift+x):删除光标前面的那个字符,光标位置不变,删的是它左边的字符。
这两个命令适合微调配置内容,比如把port = 8080改成port = 808,只需让光标停在最后一个0上,按一下x即可完成。
行内删除快捷命令:从光标处删到行首或行尾
- D键(Shift+d):从光标位置一直删到行尾,包括光标所在的那个字符,这个操作在清理配置文件末尾多余空格或注释时很有用。
- d0命令(先按d再按数字0):从光标位置删到行首,光标所在的字符保留。
举个例子,某行内容为server_name example.com; # 测试环境,如果光标停在example的e字母上,按D键后,这一行会剩下server_name,后面的内容全部清除。
dd命令及其变体
dd命令是vi编辑器中最常用的删除行操作,连续按两下d键,光标所在的那一行会被整行删除,包括行尾的换行符,所以这一行消失后,下一行会补上来。
- ndd命令:删除从当前行开始往下的n行,比如输入3dd,光标所在行和它下面两行都会被删除。
- dG命令(Shift+g):删除从当前行到文件末尾的所有内容,这个命令在清空整个文件时用得上。
- dgg命令:删除从文件开头到当前行的所有内容。
为了避免dd误删,可在执行前先确认一下:当前这一行是否是自己真正想要删除的行,确认无误再按dd。
vi怎么进入插入模式:删除操作前的关键一步操作
很多误删场景都发生在模式切换不熟练时,vi编辑器有普通模式、插入模式和末行模式三种状态,刚打开文件时处于普通模式,此时所有按键都代表命令,直接敲键盘会执行对应的操作,比如按下i会进入插入模式,按下dd则会删除一行。
在正确的位置进入插入模式
实际编辑需求往往是删掉旧内容、填入新内容,在执行删除命令之后,需要进入插入模式来输入新内容,推荐用以下方式进入插入模式:
- i键:在光标当前位置前面开始插入,光标后的内容会向右移动。
- a键:在光标当前位置后面开始插入,光标会自动右移一位。
- o键:在当前行下方新开一行,自动进入插入模式。
- O键(Shift+o):在当前行上方新开一行,自动进入插入模式。
删除后想要马上写新内容,按i进入插入模式最直观,比如修改配置文件时,用dd删掉旧行后,按i在空白行输入新配置,输入完成后按Esc回到普通模式,最后输入wq保存退出。
删除后撤销的救命操作:u命令
vi编辑器内置了撤销功能,普通模式下按u键可以撤回上一步操作,连续按u会逐步向回撤销,多次误删也能一步步恢复。
- 撤销单次误删:删除后立刻发现删错了,按一下u即可恢复。
- 撤销多次操作:逐步按u回退,直到文件恢复到你想要的状态。
- 重做已撤销的操作:按Ctrl+r可以恢复被撤销的内容,适合撤销过头时使用。
对于在虚拟机上跟着教程配置环境的新手来说,u撤销命令是出错后最稳妥的补救措施,学会它比学会所有删除命令更重要,很多有经验的运维人员操作vi时都有一个习惯,删完内容后先按u撤销确认一遍,没问题再继续下一步。
虚拟机上vi编辑器怎么删除整个单词或段落:效率提升技巧
字符级和行级删除之外,vi编辑器还支持按单词、按段落进行删除,这类操作在批量修改配置文件时很实用。
按单词删除:dw命令
dw命令(delete word)删除光标所在位置到当前单词末尾的内容,光标停在单词中间时,它只删除光标到单词末尾的部分,后面的空格保留。
执行方式:
- dw:删除光标到当前单词末尾的部分。
- d2w:删除光标位置起往后数两个单词的内容。
-
daw
(delete a word):删除光标所在的整个单词,包括单词两侧的空格。
按段落删除:dap命令
dap命令(delete a paragraph)删除光标所在的整个段落,段落之间以空行分隔,如果配置文件中某段注释是整个删掉的,把光标放在段落任意位置,按dap即可将整段内容连同段落后的空行一并删除。
vim和vi删除命令区别与跨平台操作注意事项
多数Linux发行版预装的是vim,它在vi基础上增加了高亮语法显示和更多命令支持,在操作层面,vim完全兼容vi的删除命令,cursor移动方式也一致。
命令兼容性说明
vi是UNIX系统上的经典编辑器,而vim是vi的增强版本,全称是Vi Improved,普通模式下,vim支持vi的全部删除命令,且多了可视化模式,可视化模式下用V键选中多行,再按d键一次性删除选中的内容,这个功能在处理大段配置时优势明显。
虚拟机中常见操作误区
在虚拟机的终端窗口中使用vi时,要注意窗口大小变化的影响,某些情况下,终端窗口太小会导致编辑器显示异常,误以为内容被删除,实际只是显示问题,此时可按Ctrl+l刷新屏幕,重新查看文件内容。
部分Linux发行版在vi编辑器底部状态栏中会显示当前模式,如果状态栏显示-- INSERT --说明处于插入模式,此时按Esc切回普通模式后再执行删除命令,可以避免很多误操作。
以下对比表汇总了几种主要删除命令的区别,供实际操作时参考:
| 命令 | 作用范围 | 适用场景 | 出错风险 |
|---|---|---|---|
| x | 单个字符 | 修改数字、字母 | 较低 |
| X | 光标前一个字符 | 删除多余字符 | 较低 |
| D | 光标到行尾 | 清除行尾注释 | 中等 |
| d0 | 光标到行首 | 清除行首多余空格 | 中等 |
| dd | 整行 | 删除整个配置项 | 高 |
| dw | 单词 | 删除单个参数 | 中等 |
| dG | 当前行到末尾 | 清空文件 | 很高 |
vi编辑器删除后保存与不保存的正确退出方式
删除完成后,选择正确的退出方式也很重要,这决定你的修改是否真正生效。
保存并退出:wq命令
普通模式下输入冒号(:)进入末行模式,然后输入wq,再按回车,即可保存所有删除操作并退出编辑器,如果文件是只读的,需要用wq!强制保存。
不保存退出:q!命令
删除操作出现较大失误且不想保留时,普通模式下输入q!按回车可以不保存修改直接退出,这个命令常用于练习vi操作时,删除内容后不保存,打开文件还是原样,可以反复练习各种删除命令。
仅保存不退出:w命令
如果只想把当前修改写入文件但继续编辑,输入w按回车即可保存,保存后不会退出vi。
vi编辑器常见删除出错场景与规避方法
在实际操作中,特定场景下删除命令容易出错,针对这些场景提前采取措施,能减少不必要的麻烦。
光标在行首不小心按了dd
刚打开文件时光标停留在第一行行首,此时如果误按dd,第一行内容就被删除了,规避方法是删除前先移动光标,用hjkl方向键调整位置,确认光标所在行是目标行后再执行删除。
删除范围过大导致重要配置丢失
修改系统配置文件时,一个dG命令可能清空整个文件内容,比如在虚拟机上配置Nginx服务器时,误执行dG会导致配置文件内容全部丢失,事前确认光标位置之外,还可以考虑先备份原文件,在命令行执行cp nginx.conf nginx.conf.bak,删除出错后用备份文件恢复。
插入模式下按删除键没有反应
插入模式下按退格键只能删除自己刚输入的字符,无法删除原有的字符内容,需要删除原有内容时,按Esc回到普通模式再操作,掌握vi编辑器三种模式的切换逻辑,删除操作就不会乱。
Q&A:vi编辑器删除命令相关高频疑问解答
问题:虚拟机vi编辑器删除行命令是什么?
vi编辑器中删除当前行的命令是dd,将光标移动到需要删除的行上,在普通模式下连续按两次d键即可删除整行,删除多行时,在dd前加上数字,比如5dd删除从当前行开始的5行内容,执行删除后按u键可以撤销恢复,保证操作安全。
问题:vi编辑器怎么删除光标后面的所有字符?
删除光标后到行尾的所有字符,使用D键(Shift+d),光标所在位置的字符也会被一并删除,如果光标在行首,按D会让这一行变空,整个文件内容的行结构不受影响,需要彻底清空当前行内容时,这个命令比dd更可控,因为它只删除本行字符,不影响下一行的内容。
问题:vi编辑器撤销上一步操作是按哪个键?
vi编辑器普通模式下按u键即可撤销上一步操作,相当于Windows里Ctrl+z的效果,连续按u会逐级回退,恢复多步前的文件状态,如果撤销过头了,按Ctrl+r重做撤销过的步骤,让内容回到撤销前的状态,这个组合操作是vi编辑器中最可靠的安全机制之一。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/628203.html





