如何在zsh中自定义当前所选(突出显示)完成的外观?

时间:2018-05-01 23:19:39

标签: zsh zshrc zsh-completion

主要问题

我想在所选完成的开头和结尾添加电力线字符,如下所示:

  1. Started the completion menu插入c并按TAB键。
  2. 按右箭头键
  3. Moved right in the completion menu
  4. 按向下箭头键
  5. Moved down in the completion menu
  6. 有没有办法让zsh看起来像表现一样?

    注意

    在开头添加了电力线三角形+空白字符,并且在创建列时,应以某种方式考虑空白字符+电力线三角形,以保持对齐正确。

    加成

    在列表中每次完成的开头添加2个空格,以便在选择完成时看起来文本不会向右移动。
    (通过比较有和没有选择的完成情况可以看出这个问题。)

    替代问题

    如果在不更改zsh源代码的情况下无法获得先前解释的行为,是否至少可以在所选完成的末尾添加电力线三角

    我的尝试失败

    • 我尝试使用lc样式中的rceclist-colors变量,但这没有帮助:
      1. 完成列表严重对齐,并且会产生各种视觉问题。
      2. 符号已插入完成列表的所有元素中,而不仅仅是所选元素。
    • 我也尝试使用ma变量,但我无法在开头正确插入字符:
      1. 该变量只需要一个代表颜色的数字,它可能包含在某些转义序列中,因此输出看起来并不像预期的那样。

1 个答案:

答案 0 :(得分:2)

这对我有用。

zstyle ":completion:*:default" list-colors ${(s.:.)LS_COLORS} "ma=48;5;153;1"

使用我的LS_COLORS,然后将https://jonasjacek.github.io/colors/中我选择的背景设置为粗体和颜色153。

来自https://www.zsh.org/mla/users/2010/msg00811.html