diff options
-rw-r--r-- | runtime/autoload/man.vim | 19 | ||||
-rw-r--r-- | runtime/doc/various.txt | 1 |
2 files changed, 14 insertions, 6 deletions
diff --git a/runtime/autoload/man.vim b/runtime/autoload/man.vim index bd3aabf20c..4352a8c782 100644 --- a/runtime/autoload/man.vim +++ b/runtime/autoload/man.vim @@ -46,11 +46,17 @@ function! man#open_page(count, count1, mods, ...) abort call s:push_tag() let bufname = 'man://'.name.(empty(sect)?'':'('.sect.')') - if a:mods !~# 'tab' && s:find_man() - noautocmd execute 'silent edit' fnameescape(bufname) - else - noautocmd execute 'silent' a:mods 'split' fnameescape(bufname) - endif + + try + set eventignore+=BufReadCmd + if a:mods !~# 'tab' && s:find_man() + execute 'silent edit' fnameescape(bufname) + else + execute 'silent' a:mods 'split' fnameescape(bufname) + endif + finally + set eventignore-=BufReadCmd + endtry try let page = s:get_page(path) @@ -70,12 +76,13 @@ endfunction function! man#read_page(ref) abort try let [sect, name] = man#extract_sect_and_name_ref(a:ref) - let [b:man_sect, name, path] = s:verify_exists(sect, name) + let [sect, name, path] = s:verify_exists(sect, name) let page = s:get_page(path) catch " call to s:error() is unnecessary return endtry + let b:man_sect = sect call s:put_page(page) endfunction diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index 9a2472e394..0ac294ec37 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -217,6 +217,7 @@ g8 Print the hex values of the bytes used in the To enter terminal mode automatically: > autocmd BufEnter term://* startinsert + autocmd BufLeave term://* stopinsert < *:!cmd* *:!* *E34* :!{cmd} Execute {cmd} with 'shell'. See also |:terminal|. |