blob: dfedd807315b292a1336811179aa625b13b34dde (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
function! Help(visual, iskeyword, command)
let l:iskeyword = &iskeyword
for l:kw in a:iskeyword
exe 'set iskeyword+=' . l:kw
endfor
if a:visual
let l:oldreg = @a
normal! gv"aygv
let l:word = @a
let @a = l:oldreg
else
let l:word = expand('<cword>')
endif
let &iskeyword = l:iskeyword
exe 'noswapfile ' . &helpheight . 'new ' . l:word
setlocal buftype=nofile
setlocal bufhidden=wipe
setlocal nobuflisted
setlocal modifiable
exe 'call ' . a:command . '("' . l:word . '")'
normal! ggdd
setlocal nomodifiable
endfunction
function! s:man(word)
exe 'silent read! man -Pcat ' . a:word
setlocal filetype=man
endfunction
nnoremap <silent>K :call Help(0, [], '<SID>man')<CR>
xnoremap <silent>K :call Help(1, [], '<SID>man')<CR>
|