Conteúdo da linha de comando sem escape na casca do peixe

0

Existe uma maneira de obter o conteúdo sem escape da linha de comando em peixes? Quero dizer, se a linha de comando é como ...

$ ls 'foo' "bar"

... a saída desejada seria ls 'foo' "bar" .

O comando commandline fish retorna a linha de comando, mas escapa automaticamente do conteúdo. ou seja, ls foo bar .

No manual, não encontrei interruptores para suprimir esse comportamento.

Contexto: Estou tentando emular o ctrl-x ctrl-e do bash, que permite editar o conteúdo da linha de comando em um editor. Para isso eu preciso do conteúdo sem escape da linha de comando.

Qualquer ajuda seria apreciada.

    
por blackwing 24.05.2016 / 23:16

2 respostas

1

Acontece que o fish 2.3 corrige o comportamento de impressão e deixa a linha de comando sem escape. Em peixes, 2,3 commandline -b imprime a linha de comando sem escape.

    
por 25.05.2016 / 11:57
0

Isso não responde à sua pergunta, eu acho, mas encontrei isso on-line em algum lugar

function bind_edit_commandline
    set -l tmp (mktemp /tmp/fish-fc.XXXXXX)
    commandline > $tmp
    eval $EDITOR $tmp
    commandline -r ""
    cat $tmp | while read -l cmd; commandline -a "$cmd" ""; end 
    rm $tmp
end

E eu gosto de Alt v , então

bind \ev bind_edit_commandline
    
por 24.05.2016 / 23:41