A documentação diz na seção 18.4 Widgets , que "o trabalho de um widget é simplesmente executar algumas ações pequenas". Mas não consigo encontrar uma descrição geral de como invocar essas ações, ou seja, como chamar um widget.
Eu vi em exemplos (por exemplo, ver este Q & A ) que widgets podem bin obrigado a teclas usando bindkey KEY WIDGET
. Então pode-se chamar o widget usando KEY
.
Eu queria alternar set-local-history
e tentei:
$ zle set-local-history 1
zle: widgets can only be called when ZLE is active
zle -h
não funciona, mas eu encontrei uma descrição dos argumentos aqui . Mas não parece que exista algo parecido --call
.
O que estou fazendo errado? Como é possível chamar o widget sem bindkey? Como posso imprimir o status atual? ( set-local-history
alterna o estado)
ZLE_STATE
é definido apenas dentro das funções do widget. Eu refinei minha resposta. Qual é o teu objetivo? [Palpite: Para indicar o histórico local / global no meu prompt, eu uso um widget para (i.) Definir uma variável de shell (isso é possível dentro de widgets) e (ii.) Executarzle set-local-history
.]*globalhistory*insert*
" em vez de "*insert*globalhistory*
", com base na leitura da frase antes do exemplo?Se você estiver usando,
tmux
pode chamar a tecla vinculada comsend-keys
.Exemplos:
fonte