基础撤回操作(命令模式)
-
撤销上一步操作
- 按
u:撤销最近一次编辑(如删除、粘贴、输入等)。 - 示例:误删一行后按
u可恢复该行。 - 注意:连续按
u会逐步撤销更早的操作。
- 按
-
撤销整行的修改
- 按
U:撤销对当前行所做的所有修改,恢复到此行最初状态。 - 适用场景:修改一行内容后想完全还原。
- 按
插入模式下的撤回
在插入模式(按 i 进入)中,不能直接使用 u,需用以下方法:
- 删除前一个字符:
Ctrl + h或Backspace:删除光标左侧字符。
- 删除前一个单词:
Ctrl + w:删除光标左侧的整个单词。
- 删除整行内容:
Ctrl + u:删除从行首到光标前的所有内容。
- 切换回命令模式撤回:
- 先按
Esc退出插入模式,再按u撤销插入模式中的所有操作。
- 先按
进阶操作
-
重做(恢复撤销):
- 在命令模式下按
Ctrl + r:恢复被u撤销的操作。 - 示例:误按
u后,按Ctrl + r可找回内容。
- 在命令模式下按
-
按次数撤回:
- 输入数字 +
u:如5u表示撤销最近5次操作(Vim支持,部分vi版本可能不支持)。
- 输入数字 +
-
可视化模式撤回:
- 选中文本(按
v进入可视化模式)后删除,可用u恢复被删内容。
- 选中文本(按
场景示例
- 场景1:在插入模式输入错误文本
步骤:Esc→u(完全撤销插入内容)或Ctrl + w(仅删单词)。 - 场景2:误删3行文本
步骤:按u恢复一行 → 再按u恢复下一行(连续撤销)。 - 场景3:撤销后想恢复原修改
步骤:按Ctrl + r重做。
注意事项
- vi与Vim的区别:
vi是基础版本,Vim(Vi IMproved)功能更丰富(如多级撤销)。- 推荐安装Vim:
sudo apt install vim(Debian/Ubuntu)或sudo yum install vim(CentOS/RHEL)。
- 操作不可逆的情况:
- 未保存时关闭文件(
:q!)会导致所有修改丢失,撤回无效。 - 保存后(
:w)的修改需重新编辑,无法跨会话撤回。
- 未保存时关闭文件(
- 查看操作历史:
- 在Vim中执行
:undolist可显示撤销历史(仅Vim支持)。
- 在Vim中执行
- 核心命令:
u(撤销)、U(撤销行修改)、Ctrl + r(重做)。 - 插入模式:用
Ctrl + h/w/u局部修正,或Esc退出后按u完全撤销。 - 最佳实践:编辑时频繁按
Esc返回命令模式,避免长时间停留插入模式导致大段错误。
引用说明基于Vi/Vim的POSIX标准文档(IEEE Std 1003.1)及Vim官方手册(
vimdoc),确保命令的通用性和准确性,实践环境为Linux kernel 5.4+及Vim 8.2+。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9546.html