Tente
echo Alt+1Alt+6Ctrl+V0
São 6 toques de teclas (supondo pelo menos um teclado QWERTY EUA / Reino Unido) para inserir esses 16 zeros (você pode segurar Alt para 1 e 6).
Você também pode usar o modo vi padrão ( set -o vi ) e digitar:
echo 0Escx16p
(também 6 toques de tecla).
O equivalente a emacs e que pode ser usado para repetir mais de um caractere ( echo 0Ctrl+WAlt+1Alt+6Ctrl+Y ) funciona em zsh , mas não em bash .
Todos esses também funcionarão com zsh (e tcsh de onde isso vem). Com zsh , você também pode usar sinalizadores de expansão de variável de preenchimento e expandi-los com a aba :
echo ${(l:16::0:)}Tab
(muito mais pressionamentos de teclas, obviamente).
Com bash , você também pode ter bash expandindo seu $(printf '0%.0s' {1..16}) com Ctrl + Alt + E . Note, entretanto, que isso expandirá tudo (não os globs) na linha.
Para jogar o jogo com o menor número de toques de tecla, você pode vincular a um widget de chave que expande <some-number>X para X repetido <some-number> times. E tem <some-number> na base 36 para reduzir ainda mais.
Com zsh (ligado a F8 ):
repeat-string() {
REPLY=
repeat $1 REPLY+=$2
}
expand-repeat() {
emulate -L zsh
set -o rematchpcre
local match mbegin mend MATCH MBEGIN MEND REPLY
if [[ $LBUFFER =~ '^(.*?)([[:alnum:]]+)(.)$' ]]; then
repeat-string $((36#$match[2])) $match[3]
LBUFFER=$match[1]$REPLY
else
return 1
fi
}
zle -N expand-repeat
bindkey "$terminfo[kf8]" expand-repeat
Então, por 16 zeros, você digita:
echo g0F8
(3 pressionamentos de tecla) em que g é 16 na base 36.
Agora podemos reduzi-lo ainda mais a uma chave que insere esses 16 zeros, embora isso seja uma fraude. Nós poderíamos ligar F2 a dois 0 s (ou dois $STRING , 0 por padrão), F3 a 3 0 s, F1 F6 para 16 0 s ... até 19 ... as possibilidades são infinitas quando você pode definir widgets arbitrários.
Talvez eu deva mencionar que se você pressionar e segurar a tecla 0 , você pode inserir quantos zeros quiser com apenas um pressionamento de tecla: -)