O que é "<Esc> Kv" no bash

13

Quando estou em bash e imprensa Esc, Shift+ K, V, festança, dispara-se $EDITORcom um nome semelhante ao /tmp/bash-fc-186566385.

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

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

René Nyffenegger
fonte

Respostas:

10

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

ESCLARECIMENTO: permite que você construa o comando em qualquer editor que tenha definido $EDITORe quando você salvar e sair dele, o conteúdo será executado. (Esclarecido que não é apenas Vi!)

Além disso, como observado pelo RealSkeptic , a combinação shift+ Knão é necessária para abrir o editor. Simplesmente esc, Vvontade.

forquare
fonte
Observe que poucos teclados têm uma tecla rotulada v. Chave (ou chaves melhores) para obter pressionando Ké normalmente marcado como <kbd>Shift</kbd>+<kbd>K</kbd>e pressionando a tecla para chegar (em minúsculas) vcomo<kbd>V</kbd>
Anthon
Não, mas sua edição na postagem dos OPs teve alterações incorretas.
Anthon
2
O modo de edição não é acessível simplesmente pelo escape-V? O "turno-K" parece ser apenas vodu.
RealSkeptic
@RealSkeptic você está correto, boas informações suplementares
forquare
3
Também Ctrl-x + e (se você não está no modo vi)
Iacchus
12

Você não precisa de Shift+ k. O uso do Esc+ vfuncionará, pois você está permitindo a edição da linha de comando do shell usando o editor vi embutido usando set -o vi(o mesmo pode ser obtido com o Ctrl+ x+ e). Isso é equivalente à execução do fccomando interno, útil para manipular a lista e o arquivo de histórico. Ele invocará qualquer editor definido no seu $EDITOR(caso contrário, o editor padrão do seu shell) para escrever um comando longo, complicado ou complexo e depois executá-los após salvar e fechar o editor. Veja aqui para obter detalhes sobre o fccomando: Bash history builtins .

coffeMug
fonte