1b20545f2SBram Moolenaar" Vim plugin for using Vim as manpager. 2b20545f2SBram Moolenaar" Maintainer: Enno Nagel <[email protected]> 3*6aa57295SBram Moolenaar" Last Change: 2020 Aug 05 4b20545f2SBram Moolenaar 57254067eSBram Moolenaarcommand! -nargs=0 MANPAGER call s:ManPager() | delcommand MANPAGER 67254067eSBram Moolenaar 77254067eSBram Moolenaarfunction! s:ManPager() 87254067eSBram Moolenaar set nocompatible 97254067eSBram Moolenaar if exists('+viminfofile') 107254067eSBram Moolenaar set viminfofile=NONE 11b20545f2SBram Moolenaar endif 127254067eSBram Moolenaar set noswapfile 13b20545f2SBram Moolenaar 147254067eSBram Moolenaar setlocal ft=man 157254067eSBram Moolenaar runtime ftplugin/man.vim 167254067eSBram Moolenaar setlocal buftype=nofile bufhidden=hide iskeyword+=: modifiable 17b20545f2SBram Moolenaar 187254067eSBram Moolenaar " Emulate 'col -b' 19*6aa57295SBram Moolenaar silent! keepj keepp %s/\v(.)\b\ze\1?//ge 20*6aa57295SBram Moolenaar 21*6aa57295SBram Moolenaar " Remove ansi sequences 22*6aa57295SBram Moolenaar silent! keepj keepp %s/\v\e\[%(%(\d;)?\d{1,2})?[mK]//ge 23b20545f2SBram Moolenaar 247254067eSBram Moolenaar " Remove empty lines above the header 257254067eSBram Moolenaar call cursor(1, 1) 267254067eSBram Moolenaar let n = search(".*(.*)", "c") 277254067eSBram Moolenaar if n > 1 287254067eSBram Moolenaar exe "1," . n-1 . "d" 29b20545f2SBram Moolenaar endif 307254067eSBram Moolenaar setlocal nomodified readonly 31b20545f2SBram Moolenaar 327254067eSBram Moolenaar syntax on 33b20545f2SBram Moolenaarendfunction 34