zsh에서 현재 킬링을 지울 수 있나요?

zsh에서 현재 킬링을 지울 수 있나요?

Yank가 킬링을 정리하지 않아서 잠시 후 혼란스러워졌습니다. 지울 수 있나요?

저는 오마이Zsh를 사용하고 있습니다.

답변1

킬링의 크기는 킬링의 길이에 따라 결정됩니다.killring대량으로. 기본값은 8입니다.

이 변수는 zle 위젯에서만 사용할 수 있으므로 명령줄에서 조작할 수 없으며 위젯을 정의하고 키바인드하거나 전달해야 합니다 M-x. 아래는 킬링을 지우는 위젯의 예입니다.

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. 킬링 크기를 설정하려면 숫자 접두사를 사용하여 호출하세요 ESC 4 2 M-x set-killring-size RET.

관련 정보