commit 2c160f39d3299ff7f9853e4856cefff567f8fbde
parent 3cf1c70c702786d7921438113818be3a1a2f8bd5
Author: belkka <ulianich_mihail@ukr.net>
Date: Thu, 16 May 2024 13:12:27 +0000
fix(ftplugin/man.vim): hide signcolumn (auto)
Problem:
It's a common practice to set 'signcolumn=yes' (always show) instead of default 'signcolumn=auto' in order to prevent annoying horizontal shifting in editable buffers when using some popular plugins that add/remove signs on the fly. This makes signcolumn always visible and breaks the text flow of pre-formatted man pages, even when no signs are actually defined. Some other options are already tweaked in man.vim to address the issue (e.g. 'nonumber'), but not signcolumn.
Solution:
set 'signcolumn=auto' in ftplugin/man.vim.
By default there is no |signs| in man pages anyway (and I am not aware of any plugins that could define them in man pages), so 'signcolumn=auto' should behave like 'signcolumn=no', i.e. hide the empty column in order to keep buffer width same as terminal width.
In a (rare?) case when user does define some signs in man pages, signcolumn will appear (breaking the text flow).
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/runtime/ftplugin/man.vim b/runtime/ftplugin/man.vim
@@ -17,7 +17,7 @@ setlocal iskeyword=@-@,:,a-z,A-Z,48-57,_,.,-,(,)
" man page content is likely preformatted for the terminal width, so
" narrowing display by any additional columns leads to Embarrassing Line Wrap
-setlocal nonumber norelativenumber foldcolumn=0
+setlocal nonumber norelativenumber foldcolumn=0 signcolumn=auto
setlocal tagfunc=v:lua.require'man'.goto_tag