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

Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/ftplugin/gpg.vim b/runtime/ftplugin/gpg.vim
index 3f890e5..9e00dae 100644
--- a/runtime/ftplugin/gpg.vim
+++ b/runtime/ftplugin/gpg.vim
@@ -15,5 +15,22 @@
 
 setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
 
+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 ' . 'gpg' |
+          \ 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 ' . 'gpg'
+  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
+