快速浏览DiffOrig,然后切换回来

时间:2011-06-21 13:36:31

标签: vim editor

我从文档中发现了这个伟大的命令:

 command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
    \ | wincmd p | diffthis

所以我想出了这个:

command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis | wincmd p
map <Leader>do :DiffOrig<cr>
map <leader>dc :q<cr>:diffoff!<cr>

问题是,当我\dc时,它会跳回文件的开头,而不是在发出\do之前我离开的位置。如何解决这个问题?

请亲自尝试一下,看看问题是什么以及如何解决。并告诉我如何解决它们: - )

3 个答案:

答案 0 :(得分:6)

你可以尝试:

command DiffOrig let g:diffline = line('.') | vert new | set bt=nofile | r # | 0d_ | diffthis | :exe "norm! ".g:diffline."G" | wincmd p | diffthis | wincmd p
nnoremap <Leader>do :DiffOrig<cr>
nnoremap <leader>dc :q<cr>:diffoff<cr>:exe "norm! ".g:diffline."G"<cr>

答案 1 :(得分:2)

您可以在要关闭的窗口中:q,然后:diffoff关闭剩余窗口中的差异格式。不确定是否可以在一个命令中完成。

答案 2 :(得分:1)

要关闭差异窗口并返回到您正在编辑的文件,您可以尝试将其添加到.vimrc文件中:

if!exists(“:DiffOff”)
命令DiffOff diffoff&lt; bar&gt;只有
ENDIF

然后输入:DiffOff关闭差异窗口。