基础撤回操作(命令模式)
-
撤销上一步操作
- 按
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