如何在vim脚本中获得3的宽度(在图像中标记为绿色)?
如果没有signs
列,并且没有其他“特殊列”,我可以通过winwidth(0) - (max([len(line('$')), &numberwidth-1]) + 1)
最佳答案
我认为,您应该可以使用以下方法获得该宽度:
:set virtualedit=all
:norm! g$
:echo virtcol('.')
或者,您可以检查是否存在符号列(例如,使用
redir
):redir =>a |exe "sil sign place buffer=".bufnr('')|redir end
:let signlist=split(a, '\n')
:let width=winwidth(0) - ((&number||&relativenumber) ? &numberwidth : 0) - &foldcolumn - (len(signlist) > 1 ? 2 : 0)
关于vim - 在Vim脚本中获取 "usable"窗口宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26315925/