撤销和恢复更改:
-
撤销更改
u
按下 u 键可以撤销最近的更改。如果多次按下 u,会逐步撤销之前的更改。
:undo
这是撤销的命令模式形式,与按下 u 功能相同。 -
恢复撤销
Ctrl-r
按下 Ctrl-r 可以恢复上一次被撤销的更改。
:redo
这是恢复的命令模式形式,与按下 Ctrl-r 功能相同。 -
查看更改历史
:undolist
显示当前的更改历史(撤销/恢复的记录)。从中可以看到更改的编号。 -
撤销/恢复到特定更改
g- 和 g+
g-:撤销到上一个更改的时间点。
g+:恢复到下一个更改的时间点。
:undo {N}
撤销到编号为 {N} 的更改。 -
实用技巧
5.1 设置撤销记录保存
如果希望关闭文件后仍能保留撤销历史,可以在 .vimrc 中设置:
set undofile
set undodir=~/.vim/undodir
这会将撤销记录保存到指定目录中。
5.2 多次撤销/恢复快捷方式
在插入模式或命令模式中,按住 u 或 Ctrl-r 会快速连续执行撤销或恢复。
跳转到指定的行号
- 使用行号模式
执行输入:set number或:set nu命令 - 使用快捷键:
输入行号并按 G:例如,要跳转到第 50 行,输入 50G 并按回车。
使用 :line 命令:例如,要跳转到第 100 行,输入 :100 并按回车。这也可以简写为 :100,其中 表示回车。 - 使用相对行跳转:
你可以使用 +n 或 -n 来相对于当前行进行跳转。例如,要向下跳转 10 行,输入 10j;要向上跳转 10 行,输入 10k。 - 使用搜索功能:
你可以使用 / 搜索特定的模式,然后使用 n 跳转到下一个匹配项,N 跳转到上一个匹配项。 - 使用标签页和标记:
你可以使用 m 在当前文件中设置标记(例如,ma 设置一个名为 a 的标记),然后使用 'a 跳转到该标记处。
标签页(tabs)和缓冲区(buffers)也可以用于在不同文件或位置之间快速跳转。 - 使用插件:
一些 Vim 插件提供了更高级的跳转功能,例如 EasyMotion、CtrlP 等。