Ligações de teclas personalizadas para o modo vi shell, ou seja, “set -o vi”?

13

Acabei de descobrir as maravilhas de set -o vi e estou curioso para saber se é possível personalizar esse modo do shell vi de algumas maneiras que você pode personalizar o vi ou o vim?

Por exemplo, crie uma ligação de chave personalizada para mapear uma combinação de chave ou chave mais conveniente para esc ?

Se não for atualmente suportado, quão difícil seria alterar o código-fonte do programa e o código em algumas personalizações, ou seria uma má idéia?

    
por Jonah 29.04.2013 / 19:03

1 resposta

13

Sim, você pode alterar os mapeamentos de teclas (para o modo vi- ou emacs-like) com o bind builtin. Este é realmente um recurso readline (assim você pode ter ligações do tipo vi em todos os programas readline, não apenas bash).

A chave que você está procurando é chamada de vi-movement-mode e o padrão é \e (escape). Você pode adicionalmente ligá-lo (e isso é um pouco bobo) é igual a isso. A segunda linha se livra da ligação para escapar:

$ bind "=":vi-movement-mode 
$ bind -r "\e"

A execução de bind -p mostrará todas as chaves que você pode vincular e suas vinculações atuais (se houver).

Você pode colocar bind comandos em seu .bashrc , ou você pode editar ~/.inputrc para torná-lo aplicável a todos os programas Readline executados. Os documentos readline contêm detalhes completos.

    
por 29.04.2013 / 19:40

Tags