gpt4 book ai didi

vim - 重做所有未完成的更改

转载 作者:行者123 更新时间:2023-12-05 08:55:00 27 4
gpt4 key购买 nike

类似于this question , 是否有命令重做 vim 中所有未完成的更改?目前我所知道的是1000<C-R>或类似的,只是重做大量的更改,但感觉很麻烦而且很随意。

最佳答案

尝试 :exec 'undo' undotree()['seq_last']

这将重做每个更改直到最新的更改。

如果你想把它映射到像ctrl+shift+R这样的东西。把这个放在你的 vimrc 文件中:

nnoremap <C-S-R> :exec 'undo' undotree()['seq_last']<CR>

解释

undo {N}跳转到撤消树中的第 n 个更改。

undotree()是一个返回具有撤消树状态的字典的函数。

undotree()['seq_last']查找 key seq_last在字典里。

来自 :help undotree我们看到与 seq_last 关联的值是: The highest undo sequence number used.

:exec从我们的表达式中评估字符串。比方说,undotree()['seq_last']返回 42 .此示例中的表达式为 undo 42这给我们带来了最新的变化,第 42 个变化。

关于vim - 重做所有未完成的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47521923/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com