我从文档中发现了这个伟大的命令:
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
\ | wincmd p | diffthis
Run Code Online (Sandbox Code Playgroud)
所以我想出了这个:
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>
Run Code Online (Sandbox Code Playgroud)
问题是,当我\dc
这样做时,它会跳回到文件的开头,而不是在发出之前我离开它的地方\do
.如何解决这个问题?
请自己尝试一下,看看问题是什么以及如何解决它们.并告诉我如何解决它们:-)
小智 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>
Run Code Online (Sandbox Code Playgroud)