mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 11:15:14 -07:00
f6ba7d69be
Problem: q in "$MANPAGER mode" does not quit Nvim. This is because ftplugin/man.vim creates its own mapping: nnoremap <silent> <buffer> <nowait> q :lclose<CR><C-W>c which overrides the one set by the autoload file when using :Man! ("$MANPAGER mode") Solution: Set b:pager during "$MANPAGER mode" so that ftplugin/man.vim can set the mapping correctly. Fixes #18281 Ref #17791 Helped-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
42 lines
1.2 KiB
VimL
42 lines
1.2 KiB
VimL
" Maintainer: Anmol Sethi <hi@nhooyr.io>
|
|
" Previous Maintainer: SungHyun Nam <goweol@gmail.com>
|
|
|
|
if exists('b:did_ftplugin') || &filetype !=# 'man'
|
|
finish
|
|
endif
|
|
let b:did_ftplugin = 1
|
|
|
|
setlocal noexpandtab tabstop=8 softtabstop=8 shiftwidth=8
|
|
setlocal wrap breakindent linebreak
|
|
|
|
" 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
|
|
|
|
setlocal tagfunc=man#goto_tag
|
|
|
|
if !exists('g:no_plugin_maps') && !exists('g:no_man_maps')
|
|
nnoremap <silent> <buffer> j gj
|
|
nnoremap <silent> <buffer> k gk
|
|
nnoremap <silent> <buffer> gO :call man#show_toc()<CR>
|
|
nnoremap <silent> <buffer> <2-LeftMouse> :Man<CR>
|
|
if get(b:, 'pager')
|
|
nnoremap <silent> <buffer> <nowait> q :lclose<CR><C-W>q
|
|
else
|
|
nnoremap <silent> <buffer> <nowait> q :lclose<CR><C-W>c
|
|
endif
|
|
endif
|
|
|
|
if get(g:, 'ft_man_folding_enable', 0)
|
|
setlocal foldenable
|
|
setlocal foldmethod=indent
|
|
setlocal foldnestmax=1
|
|
endif
|
|
|
|
let b:undo_ftplugin = ''
|
|
" vim: set sw=2:
|