Eu suspeito que Ctrl - ; não é possível. Antes de entrar no porquê, deixe-me discutir o que é possível.
bindkey -s '^;' ''date +%y%m%d | perl -pe chomp''
Apenas tire o "c" de sua tentativa de usar Ctrl - O , e ele funcionará bem.
O comando tcsh
provavelmente não suporta Ctrl - ; , que é um design muito sensato, porque o tcsh serve para funcionar com um terminal Unix tradicional (ou alguns softwares que se comportam de maneira semelhante), e os tradicionais terminais Unix não suportam Ctrl - ; .
Então, por que os terminais Unix não suportam Ctrl - ; ?
O ponto principal para todas estas sequências Ctrl foi fornecer uma maneira fácil de digitar / representar os primeiros 32 caracteres ASCII, porque esses caracteres não possuem caracteres facilmente compatíveis com o tipo. O equivalente direto a Ctrl - ; não é tão difícil de digitar sem a necessidade de uma seqüência Ctrl , e é por isso que não O caractere especial Ctrl (como Ctrl - ; ) é comumente suportado.
Vou elaborar. Primeiro, observarei que grande parte dessa resposta foi feita referenciando algumas informações que documentei, sobre as Ctrl Sequências, no meu site em ] [CyberPillar] [: Ctrl Sequências do teclado .
Uma das regras para os caracteres Ctrl é que se você pressionar Ctrl e pressionar um caractere com um valor ASCII de 63 a 95, você terminará com o caractere que tenha 64 menos de um Valor ASCII do que o caractere que você pressionou. (Sim, 64 é subtraído de 63, se aplicável. Isso será discutido mais tarde.)
Outra regra é que, se você pressionar Ctrl e pressionar um caractere com um valor ASCII de 96 a 122, terminará com um caractere que seja 96 menor que o caractere digitado. Como resultado, Ctrl - Deslocamento - A (letra maiúscula) e Ctrl - a (letra baixa) terminará com o mesmo caractere. É por isso que se você pressionar Ctrl - c , você poderá ver Ctrl - C ecoado de volta. O terminal converte o ASCII 3 para uma string representando Ctrl - C ao preparar a mensagem de saída, ignorando o fato de que você pressionou Ctrl - c para gerar o ASCII 3.
; (Ponto-e-vírgula) é ASCII 59, que não é ASCII de 64 a 95 nem ASCII de 96 a 122. Portanto, as regras que foram especificadas (cobrindo ASCII de 63 a 122) não forneça qualquer interpretação comum para o ASCII 59 (para cobrir Ctrl - ; ).
Um valor, que parece uma exceção, é a regra comumente suportada, que é para Ctrl - ? . Se Ctrl - ; tiver uma interpretação comum, então a interpretação comum provavelmente seguirá o mesmo padrão que Ctrl - ? . O caractere ? é ASCII 63. Subtrai 64 de 63 yeilds -1, o que basicamente equivale a 127 com uma condição de underflow, que pode ser ignorada. O resultado é que a combinação de teclas Ctrl - ? efetivamente acaba adicionando 64, então 63 + 64 = 127. ASCII 127 freqüentemente corresponde ao Delete key, que pode ser difícil de representar, pois o Delete possui um comportamento especial comum (que é excluir texto). Assim, o ASCII 127 pode freqüentemente se beneficiar substancialmente com uma seqüência Ctrl comumente suportada. Dessa forma, uma pessoa pode digitar o código ASCII 127 com relativa facilidade, usando a seqüência do teclado.
Seguindo esse padrão (de adicionar 64), Ctrl - ; resultaria em ASCII 123, que é uma chave esquerda (" {
"). As pessoas não suportavam Ctrl - ; como uma forma padrão comum de digitação { pois { tem suas próprias maneira fácil de inseri-lo no teclado (pressionando Shift - [).