Документация говорит в разделе 18.4 «Виджеты» , что «работа виджета состоит в том, чтобы просто выполнить небольшое действие». Но я не могу найти общее описание, как вызвать эти действия, то есть, как вызвать виджет.
Я видел в примерах (например, см. Этот раздел вопросов и ответов ), что виджеты могут связываться с ключами с помощью bindkey KEY WIDGET
. Затем можно вызвать виджет с помощью KEY
.
Я хотел переключиться, set-local-history
и я попытался:
$ zle set-local-history 1
zle: widgets can only be called when ZLE is active
zle -h
не работает, но я нашел описание аргументов здесь . Но, похоже, что-то здесь не так --call
.
Что я делаю неправильно? Как можно вызвать виджет без bindkey? Как я могу распечатать текущий статус? ( set-local-history
переключает состояние)
ZLE_STATE
определяется только внутри функций виджета. Я уточнил свой ответ. Какова твоя цель? [Подсказка: чтобы указать локальную / глобальную историю в моем приглашении, я использую виджет, чтобы (i.) Установить переменную оболочки (это возможно внутри виджетов) и (ii.) Выполнитьzle set-local-history
.]*globalhistory*insert*
" вместо "*insert*globalhistory*
", основываясь на прочтении предложения перед примером?Если вы используете,
tmux
вы можете позвонить связанный ключ сsend-keys
.Примеры:
источник