aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/autoload/man.vim19
-rw-r--r--runtime/doc/various.txt1
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|.