我可以清除 zsh 中当前的killring吗?

我可以清除 zsh 中当前的killring吗?

扬克没有清理杀戮环,所以过了一段时间它就变得混乱了。我可以清除它吗?

我正在使用 Oh My Zsh。

答案1

杀伤环的大小由杀伤环的长度决定killring大批。默认值为 8。

该变量仅在 zle 小部件中可用,因此您无法在命令行上操作它,您必须定义一个小部件并通过键绑定或通过M-x.下面是一个清空killring 的小部件的示例。

set_killring_size () {
  local empty=
  if ((!$+NUMERIC)); then
    # Wipe killring and re-create it to its current size
    NUMERIC=$#killring
    killring=()
  fi
  if ((NUMERIC <= $#killring)); then
    # Truncate killring to the specified size
    killring=("${(@)killring[1,$NUMERIC]}")
  else
    # Grow killring to the specified size
    killring=("${(@)killring}" "${(@s:_:)${(l:$((NUMERIC-$#killring-1))::_:)empty}}")
  fi
}
zle -N set_killring_size set-killring-size

不带任何参数调用此小部件来擦除killring M-x set-killring-size RET:。使用数字前缀调用它来设置killring大小:ESC 4 2 M-x set-killring-size RET

相关内容