runtime: configure keywordpg for some file types (#5566)

Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/ftplugin/readline.vim b/runtime/ftplugin/readline.vim
index 524eeb7..c81d0f2 100644
--- a/runtime/ftplugin/readline.vim
+++ b/runtime/ftplugin/readline.vim
@@ -30,6 +30,22 @@
   let b:undo_ftplugin ..= " | unlet! b:browsefilter"
 endif
 
+if has('unix') && executable('less')
+  if !has('gui_running')
+    command -buffer -nargs=1 Sman
+          \ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s+' . <q-args> . '\b'' --hilite-search" man ' . '3 readline' |
+          \ redraw!
+  elseif has('terminal')
+    command -buffer -nargs=1 Sman
+          \ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . '3 readline'
+  endif
+  if exists(':Sman') == 2
+    setlocal iskeyword+=-
+    setlocal keywordprg=:Sman
+    let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
+  endif
+endif
+
 let &cpo = s:cpo_save
 unlet s:cpo_save