Как мне получить доступ к моей тюрьме по имени хоста в домашней сети?

Может быть, что-то вроде:

accept-line() {
  if [[ ${BUFFER//![\$!]} = *!* ]]; then
    set -o histverify
  else
    set +o histverify
  fi
  zle.$WIDGET
}
zle -N accept-line

добавлен к вашему ~/.zshrcкак эвристика. То есть переопределить виджет accept-line(, вызываемый при нажатии Enter ), чтобы он устанавливал параметр histverifyтолько в том случае, если после !следует символ, отличный от !и $в текущей строке.

Это обман для командных строк, таких как echo '!e' !!или \!!rm, но кажется, что это должно быть приемлемым ограничением.

Лично я добавляю set +o banghistк своему ~/.zshrcи предпочитаю полагаться на history-search-backward(, привязанный к Alt + p по умолчанию в режиме emacs)или history-beginning-search-backward(, который я привязываю к PageUp ), который экономит ввод текста и всегда дает мне визуальную обратную связь, прежде чем я приму команду.

1
06.06.2021, 00:15
0 ответов

Теги

Похожие вопросы