From 10b014ca7bbf72d68f82803bc58f35127ff904f6 Mon Sep 17 00:00:00 2001 From: Anmol Sethi Date: Fri, 12 Aug 2016 06:07:13 -0400 Subject: man.vim: set window local options when reusing buffer This is necessary incase the buffer was previously opened in a different tab, in which the window options there do not carry over. It is not explicitly documented in ':help local-options' but that is how it works. --- runtime/autoload/man.vim | 11 +++++++++++ runtime/ftplugin/man.vim | 7 +------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/runtime/autoload/man.vim b/runtime/autoload/man.vim index 072b8a2cd9..349ab1ded5 100644 --- a/runtime/autoload/man.vim +++ b/runtime/autoload/man.vim @@ -59,6 +59,7 @@ function! man#open_page(count, count1, mods, ...) abort if a:mods !~# 'tab' && s:find_man() if s:manwidth() ==# getbufvar(bufname, 'manwidth') silent execute 'buf' bufname + call man#set_window_local_options() keepjumps 1 return endif @@ -68,6 +69,7 @@ function! man#open_page(count, count1, mods, ...) abort endif noautocmd execute a:mods 'split' bufname if s:manwidth() ==# get(b:, 'manwidth') + call man#set_window_local_options() keepjumps 1 return endif @@ -203,6 +205,15 @@ function! s:manwidth() abort return $MANWIDTH endfunction +function! man#set_window_local_options() abort + setlocal nonumber + setlocal norelativenumber + setlocal foldcolumn=0 + setlocal colorcolumn=0 + setlocal nolist + setlocal nofoldenable +endfunction + function! s:man_args(sect, name) abort if empty(a:sect) return shellescape(a:name) diff --git a/runtime/ftplugin/man.vim b/runtime/ftplugin/man.vim index 6a9ad27956..fddfee3c31 100644 --- a/runtime/ftplugin/man.vim +++ b/runtime/ftplugin/man.vim @@ -33,12 +33,7 @@ setlocal tabstop=8 setlocal softtabstop=8 setlocal shiftwidth=8 -setlocal nonumber -setlocal norelativenumber -setlocal foldcolumn=0 -setlocal colorcolumn=0 -setlocal nolist -setlocal nofoldenable +call man#set_window_local_options() if !exists('g:no_plugin_maps') && !exists('g:no_man_maps') nmap (Man) -- cgit