Readline: trata traço como um caractere de quebra de palavra

0

Eu gostaria que o Readline considerasse palavras separadas por traços como palavras únicas, assim como o Vim faz por padrão.

Por exemplo, se eu estiver no final da linha abaixo e digitar ctrl-W

cp long-filename-with-dashes

Readline excluiria apenas dashes em vez da string inteira até o espaço.

Existe alguma maneira de configurar isso sem quebrar outras coisas?

    
por zool 19.07.2016 / 13:33

1 resposta

0

Consegui alcançar o comportamento desejado com essas duas linhas no meu bashrc :

stty werase undef
bind '\C-w: backward-kill-word'

Ainda não há ideia sobre possíveis efeitos colaterais.

Editar : Encontrei a maneira correta de definir isso no inputrc sem tocar no bashrc e recorrendo a stty graças a este artigo :

set bind-tty-special-chars Off

$if Bash
  \C-w: backward-kill-word
$endif

Atualização: Parece que bind-tty-special-chars quebra o comportamento de w , e e <c-w> no Vim (provavelmente entre outras coisas), então a melhor solução para mim é definir stty werase undef no bashrc e \C-w: backward-kill-word no inputrc .

    
por 19.07.2016 / 14:45

Tags