O que é “EscKv” no bash

13

Quando estou no bash e pressiono Esc , Desloc + K , V , o bash dispara para cima $EDITOR com um nome de arquivo semelhante a /tmp/bash-fc-186566385 .

Por que isso e qual é o seu propósito?

Eu provavelmente preciso mencionar que estou executando o bash com set -o vi .

    
por René Nyffenegger 01.05.2016 / 10:46

2 respostas

10

Isso permite que você construa um comando com a edição completa do Vi. Se você digitar alguns comandos e salvar exit :wq , os comandos serão executados.

CLARIFICATION: permite que você construa o comando em qualquer editor que você tenha configurado em $EDITOR e quando você salvar e sair dele o conteúdo será executado. (Esclarecido que não é só Vi!)

IGUALMENTE, conforme observado por RealSkeptic , o shift A combinação de K não é necessária para abrir o editor. Simplesmente esc , V irá.

    
por 01.05.2016 / 10:50
12

Você não precisa de Shift + k . Usar Esc + v funcionará desde que você está permitindo a edição de linha de comando do shell usando o editor vi interno usando set -o vi (o mesmo pode ser obtido com Ctrl + x + e ). Isso equivale a executar o comando fc incorporado, útil para manipular a lista de histórico e o arquivo de histórico. Ele irá invocar qualquer editor que esteja configurado em seu $EDITOR (caso contrário, o editor padrão do seu shell) para escrever um comando longo, complicado ou complexo e então executá-los depois de salvar e fechar o editor. Veja aqui os detalhes sobre o comando fc : Construções do histórico de Bash .

    
por 01.05.2016 / 14:59