在vimdiff窗口之间复制行时撤消diff
发布时间:2020-12-15 18:53:14 所属栏目:安全 来源:网络整理
导读:如果在命令提示符下,我运行 vimdiff file1 file2 我得到一个vim实例,它有两个文件并排打开.假设文件中的文本看起来像这样(file1在左边,文件2在右边): ╔═══════╤═══════╗║foo │-------║║bar │bar ║║grue │-------║║~ │~ ║║~
如果在命令提示符下,我运行
vimdiff file1 file2 我得到一个vim实例,它有两个文件并排打开.假设文件中的文本看起来像这样(file1在左边,文件2在右边): ╔═══════╤═══════╗ ║foo │-------║ ║bar │bar ║ ║grue │-------║ ║~ │~ ║ ║~ │~ ║ ╚═══════╧═══════╝ 现在假设我的光标位于“foo”的“f”,我想将file1的第一行复制到file2的第一行. 执行此操作的一种方法是使用v $y选择并搓(复制)行,然后使用Ctrl w l将光标移动到file2的第一行,然后键入p以粘贴复制的行.如果我这样做,然后我决定我完全不想这样做,我可以按你撤消在file2中执行的粘贴命令. 另一种做法是使用diff put命令dp.但是,如果在这样做之后,我决定我不是这样做的,我不能简单地通过按u来撤消它,因为我的光标仍然在file1,并且u命令将撤消最近对file1的更改,而不是最多最近更改为file2.因此,我必须使用Ctrl w l或Ctrl w w将光标移动到file2的窗口,然后按u. 所以,我的问题是:在我使用dp之后,我有没有简单的方法来撤消它,而不必将光标移动到另一个文件的窗口?
真的没有这个命令,但你可以映射自己的.
将以下内容放在您的vimrc中,然后使用du进行diff undos. nmap du :wincmd w<cr>:normal u<cr>:wincmd w<cr> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |