diff --git a/runtime/autoload/man.vim b/runtime/autoload/man.vim index 99d8c41dba..78a86315a3 100644 --- a/runtime/autoload/man.vim +++ b/runtime/autoload/man.vim @@ -137,8 +137,6 @@ function! s:put_page(page) abort setlocal modifiable setlocal noreadonly setlocal noswapfile - " git-ls-files(1) is all one keyword/tag-target - setlocal iskeyword+=(,) silent keepjumps %delete _ silent put =a:page while getline(1) =~# '^\s*$' diff --git a/runtime/ftplugin/man.vim b/runtime/ftplugin/man.vim index 74225a558c..5d3e00d033 100644 --- a/runtime/ftplugin/man.vim +++ b/runtime/ftplugin/man.vim @@ -16,7 +16,11 @@ setlocal noswapfile buftype=nofile bufhidden=hide setlocal nomodified readonly nomodifiable setlocal noexpandtab tabstop=8 softtabstop=8 shiftwidth=8 setlocal wrap breakindent linebreak -setlocal iskeyword+=- + +" Parentheses and '-' for references like `git-ls-files(1)`; '@' for systemd +" pages; ':' for Perl and C++ pages. Here, I intentionally omit the locale +" specific characters matched by `@`. +setlocal iskeyword=@-@,:,a-z,A-Z,48-57,_,.,-,(,) setlocal nonumber norelativenumber setlocal foldcolumn=0 colorcolumn=0 nolist nofoldenable @@ -24,9 +28,10 @@ setlocal foldcolumn=0 colorcolumn=0 nolist nofoldenable setlocal tagfunc=man#goto_tag if !exists('g:no_plugin_maps') && !exists('g:no_man_maps') - nnoremap j gj - nnoremap k gk - nnoremap gO :call man#show_toc() + nnoremap j gj + nnoremap k gk + nnoremap gO :call man#show_toc() + nnoremap <2-LeftMouse> :Man if s:pager nnoremap q :lclose:q else