Vim 编辑器撤消

Vim 编辑器撤消

在 Vim 编辑器中,当我在正常模式下输入“u”时,它会撤消上一个会话中所做的所有更改,而不是一行。有人能帮忙解决吗?

答案1

:h undo-blocks

One undo command normally undoes a typed command, no matter how many changes
that command makes.  This sequence of undo-able changes forms an undo block.
Thus if the typed key(s) call a function, all the commands in the function are
undone together.

进一步来说:

To do the opposite, use a new undo block for the next change, in Insert mode
use CTRL-G u.  This is useful if you want an insert command to be undoable in
parts.

如果你总是想要逐行撤消块,你可以使用类似以下方法:

:inoremap <cr> <c-g>u<cr>

它将在您按下“Insert”模式<C-g>u时自动包含。如果您一次输入了多行,则会撤消您输入的最后一行。Enteru

答案2

其按键是 Shift-u(即大写 U)。

与“u”不同,“U”对您所在的行进行“撤消”操作,并且被视为一项操作(意味着它可以通过“u”命令“撤消”)。

在普通模式下输入:help Uvim 可以查看有关“U”命令的更详细文档。

相关内容