10

符号是指使用例如合成插件时添加的左侧额外列。如果可能的话,我想通过只占用一列空间来节省空间。我可以更改以前的标志>>>但它仍然是两个字符宽!

4

2 回答 2

17

不幸的是,没有办法修改符号列的宽度。它在 Vim 中硬编码为两个字符宽。

它在 Vim 源代码中定义screen.c(vim-73 中的第 2149 行):

# ifdef FEAT_SIGNS
  if (draw_signcolumn(wp))
  {
      int nn = n + 2;

      /* draw the sign column left of the fold column */
      if (nn > W_WIDTH(wp))
          nn = W_WIDTH(wp);
      screen_fill(W_WINROW(wp) + row, W_WINROW(wp) + endrow,
                  W_ENDCOL(wp) - nn, (int)W_ENDCOL(wp) - n,
                  ' ', ' ', hl_attr(HLF_SC));
      n = nn;
  }
# endif

int nn = n + 2线是罪魁祸首。您可以尝试在源代码中对其进行破解,但我不知道布局的其余部分是否取决于宽度 2。请注意,这是针对非 GUI 实现的;GUI 宽度也是固定的,但在源代码的其他地方定义。

于 2013-06-12T03:27:14.553 回答
0

适用于任何使用set number.

set signcolumn=number将在数字列上绘制符号:

在此处输入图像描述

于 2021-05-13T22:24:34.447 回答