diff --git a/autoload/fugitive.vim b/autoload/fugitive.vim index 8400d59..36e6702 100644 --- a/autoload/fugitive.vim +++ b/autoload/fugitive.vim @@ -2956,8 +2956,8 @@ function! s:ContainingCommit() abort endif endfunction -function! s:NavigateUp(count) dict abort - let rev = self.rev() +function! s:NavigateUp(count) abort + let rev = s:buffer().rev() let c = a:count while c if rev =~# '^[/:]$' @@ -2986,7 +2986,7 @@ function! fugitive#MapJumps(...) abort nnoremap o :exe GF("split") nnoremap S :exe GF("vsplit") nnoremap O :exe GF("tabedit") - nnoremap - :exe Edit('edit',0,'',NavigateUp(v:count1)) if fugitive#buffer().type('tree')call search('^'.escape(expand('#:t'),'.*[]~\').'/\=$','wc')endif + nnoremap - :exe Edit('edit',0,'',NavigateUp(v:count1)) if getline(1) =~# '^tree \x\{40\}$' && empty(getline(2))call search('^'.escape(expand('#:t'),'.*[]~\').'/\=$','wc')endif nnoremap P :exe Edit('edit',0,'',ContainingCommit().'^'.v:count1.Relative(':')) nnoremap ~ :exe Edit('edit',0,'',ContainingCommit().'~'.v:count1.Relative(':')) nnoremap C :exe Edit('edit',0,'',ContainingCommit())