Skip to content

Commit

Permalink
Add g:vim_man_cmd to change default man command
Browse files Browse the repository at this point in the history
Closes #24, closes #32
  • Loading branch information
Ben Johnson authored and Bruno Sutic committed Nov 11, 2015
1 parent 308bece commit 21ae737
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 4 deletions.
2 changes: 1 addition & 1 deletion autoload/man.vim
Expand Up @@ -44,7 +44,7 @@ function! s:manpage_exists(sect, page)
return 0
endif
let find_arg = man#helpers#find_arg()
let where = system('/usr/bin/man '.find_arg.' '.man#helpers#get_cmd_arg(a:sect, a:page))
let where = system(g:vim_man_cmd.' '.find_arg.' '.man#helpers#get_cmd_arg(a:sect, a:page))
if where !~# '^\s*/'
" result does not look like a file path
return 0
Expand Down
2 changes: 1 addition & 1 deletion autoload/man/grep.vim
Expand Up @@ -126,7 +126,7 @@ function! man#grep#command(path_glob, insensitive_flag, pattern)
" xargs is used to feed manpages one-by-one
let command .= 'xargs -I{} -n1 sh -c "manpage={};'
" inner variables execute within a shell started by xargs
let command .= '/usr/bin/man \$manpage 2>/dev/null|col -b|'
let command .= g:vim_man_cmd.' \$manpage 2>/dev/null|col -b|'
" if the first manpage line is blank, remove it (stupid semicolons are required)
let command .= "sed '1 {;/^\s*$/d;}'|"
let command .= 'grep '.a:insensitive_flag.' -nE '.a:pattern.'|'
Expand Down
2 changes: 1 addition & 1 deletion autoload/man/grep/vanilla.vim
Expand Up @@ -15,7 +15,7 @@ function! man#grep#vanilla#run(bang, insensitive, pattern, files)
let $MANWIDTH = man#helpers#manwidth()
let insensitive_flag = a:insensitive ? '-i' : ''
for file in a:files
let output_manfile = '/usr/bin/man '.file.' | col -b |'
let output_manfile = g:vim_man_cmd.' '.file.' | col -b |'
let trim_whitespace = "sed '1 {; /^\s*$/d; }' |"
let grep = 'grep '.insensitive_flag.' -n -E '.a:pattern
let matches = systemlist(output_manfile . trim_whitespace . grep)
Expand Down
2 changes: 1 addition & 1 deletion autoload/man/helpers.vim
Expand Up @@ -69,7 +69,7 @@ function! man#helpers#load_manpage_text(page, section)
setlocal modifiable
silent keepj norm! 1GdG
let $MANWIDTH = man#helpers#manwidth()
silent exec 'r!/usr/bin/man '.man#helpers#get_cmd_arg(a:section, a:page). ' 2>/dev/null | col -b'
silent exec 'r!'.g:vim_man_cmd.' '.man#helpers#get_cmd_arg(a:section, a:page). ' 2>/dev/null | col -b'
call s:remove_blank_lines_from_top_and_bottom()
setlocal filetype=man
setlocal nomodifiable
Expand Down
5 changes: 5 additions & 0 deletions doc/man.txt
Expand Up @@ -110,7 +110,12 @@ in your |vimrc|:
>
map <leader>v <Plug>(Vman)
<
OPTIONS *man-options*

Default man command is '/usr/bin/man', but it can be changed:
>
let g:vim_man_cmd = 'LANG=ja_JP.UTF-8 /usr/bin/man'
<
CONTRIBUTING *man-contributing* *man-bugs*

Contributing and bug fixes are welcome. If you have an idea for a new feature
Expand Down
4 changes: 4 additions & 0 deletions plugin/man.vim
Expand Up @@ -6,6 +6,10 @@ let g:loaded_man = 1
let s:save_cpo = &cpo
set cpo&vim

if !exists('g:vim_man_cmd')
let g:vim_man_cmd='/usr/bin/man'
endif

command! -nargs=* -bar -complete=customlist,man#completion#run Man call man#get_page('horizontal', <f-args>)
command! -nargs=* -bar -complete=customlist,man#completion#run Sman call man#get_page('horizontal', <f-args>)
command! -nargs=* -bar -complete=customlist,man#completion#run Vman call man#get_page('vertical', <f-args>)
Expand Down

0 comments on commit 21ae737

Please sign in to comment.