mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	 f6ba7d69be
			
		
	
	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:
 |