Ctrl-enter para casca de peixe

1

Eu tentei criar algumas configurações de aceitação e executar imediatamente a combinação no peixe pressionando Ctrl + Enter

.

function fish_user_key_bindings
    bind \c\n accept-autosuggestion execute
end

Infelizmente essa tentativa falha. Parece que o peixe não gosta de dois caracteres que escaparam:

#bind -a
...
bind \c\n accept-autosuggestion execute

Alguma ideia melhor?

    
por Michael 23.03.2016 / 18:52

2 respostas

1

A ligação ctrl + enter não faz qualquer sentido. A tecla enter normalmente envia um retorno de carro; \r , também conhecido como \cM . Em outras palavras, enter já é um caractere de controle. Portanto, aplicar o modificador \c não faz sentido. Na verdade, isso deve fazer com que Fish gere um erro, então vou abrir um problema para lembrar a equipe de corrigir isso.

Além disso, você estava tentando ligar \c\n . Vinculação \n (também conhecido como \cJ ) funciona para o Peixe 2.2.0 ou anterior. Mas, a partir de 2.3.0, você não obterá o resultado esperado, porque o peixe agora desativa o modo icrnl do driver TTY. Então Fish receberá o caractere \r (também conhecido como \cM ) normalmente enviado pela tecla enter . Então você realmente quer ligar \r (ou \cM ). Claro que isso não muda o fato de que \c\cM não faz sentido.

    
por 22.06.2016 / 06:20
0

Provavelmente você perdeu apenas o '' na linha de comando de ligação.

De fato, o simples bind \c\n accept-autosuggestion execute gera o erro:

bind: Expected zero or two parameters, got 3

Adicionando '' em torno do comando, parece funcionar

function fish_user_key_bindings
    bind \c\n 'accept-autosuggestion execute'
end

Depois que a execução do comando de vinculação com bind -a me der

bind \x1cn 'accept-autosuggestion execute'

    
por 24.03.2016 / 14:55