Eu consertei no meu fim. Isso vai na configuração:
bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word
"source", executando:
. .config/fish/config.fish
("." é fonte de peixe)
Espero que ajude você!
Estou usando terminator juntamente com fish e quero usar Alt-Left etc para navegar no terminator e Ctrl-Left e Ctrl-right para mover o cursor por palavra. O problema é quando eu faço
bind \cleft backward-word
não altera o comportamento do Ctrl-left ou right. Isso parece seguir o que a documentação e eu puxei a chave e o comando dos sinalizadores -K e -f e
bind -a
mostra que as ligações existem.
Eu usei o mesmo comando para outras seqüências, mas não consigo fazer isso funcionar. Estou faltando alguma coisa?
Eu consertei no meu fim. Isso vai na configuração:
bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word
"source", executando:
. .config/fish/config.fish
("." é fonte de peixe)
Espero que ajude você!
digite bind \cleft backward-word
na linha de comando do fish para fazer o trabalho. Se você quer que ele seja executado em cada inicialização, coloque:
function fish_user_key_bindings
bind \cleft backward-word
end
em .config/fish/config.fish
De documentação da associação de peixes
Key bindings are not saved between sessions by default. Bare bind statements in config.fish won't have any effect because it is sourced before the default keybindings are setup. To save custom keybindings, put the bind statements into a function called fish_user_key_bindings, which will be autoloaded.
A resposta aceita está quase funcionando, mas descobri que não posso vincular automaticamente as chaves através do arquivo config.fish. Eu acabo modificando o fish_vi_key_bindings.fish (que sob / usr / share / fish / functions) diretamente.
Além disso, apenas adicionando ctrl-left e ctrl-right ao modo normal sob vi keybind não é suficiente, tem que adicionar insert e modo visual também.
bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word
bind -M insert \e\[1\;5C forward-word
bind -M insert \e\[1\;5D backward-word
bind -M visual \e\[1\;5C forward-word
bind -M visual \e\[1\;5D backward-word
Desculpe este deve ser um comentário para a resposta aceita , não uma resposta independente, mas devido a não ter reputação suficiente para adicionar comentários (pessoalmente, não acho que essa reputação o sistema é razoável), e eu senti que deveria compartilhar isso com alguém que está enfrentando o mesmo problema, ou para alguém que tenha experiência em como corrigir o problema.
O "~ / .bash_profile" para peixes está em ~ / .config / fish / config.fish (se não existir, crie-o). Para que seja executado no login, coloque isso no arquivo config.fish:
if status --is-login
bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word
end
A primeira coisa a notar é que ctrl + seta para a esquerda não faz sentido e não pode ser feito em nenhum shell. Isso porque a chave ctrl não envia caracteres por si só (a menos que você tenha feito algo muito incomum em sua configuração de terminal). O que essa chave faz é modificar a próxima letra que é pressionada. Por exemplo, ctrl + a faz com que o terminal envie o valor hexadecimal de byte único 0x01. Como chaves como a seta para a esquerda normalmente enviam uma seqüência de caracteres que começam com o caractere esc , e escape já é um caractere de controle, aplicando o modificador de controle a ele não faz nada.
Como você encontrou a maneira usual de fazer isso, use o alt . Se você configurou seu terminal para tratar isso como uma chave "meta" que prefixa o que segue com o caractere de escape, você pode pressionar alt + page-up para ter o terminal enviar \e\e[5~
. Se você construir peixes a partir de fontes git, você obterá um programa prático chamado fish_key_reader
, que torna o aprendizado que as diferentes chaves enviam muito mais facilmente. Isso será no lançamento do peixe 2.3.1, que deve estar disponível em algumas semanas.
Por fim, as ligações de teclas personalizadas devem estar no seu arquivo de configuração pessoal, não no script global /usr/share/fish/functions/fish_default_key_bindings.fish
. Você deve criar um arquivo chamado $HOME/.config/fish/functions/fish_user_key_bindings.fish
com o seguinte conteúdo:
function fish_user_key_bindings
bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word
end
Tags fish key-binding