você está aqui: Home  → Arquivo de Mensagens

Edição da linha de comando com um editor de texto

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 09 de setembro de 2014

Às vezes começamos a digitar um comando diretamente no prompt do bash e o comando vai ficando grande e complexo. Temos diversos atalhos de teclado para fazer esta edição com muitos recursos, mas infelizmente, são tantos os recursos que às vezes fica difícil lembrar de tudo.

Uma facilidade pouco usada e também pouco conhecida é que existe a possibilidade de se invocar um editor de texto para modificar ou mesmo criar algo diretamente a partir do prompt do bash.

A primeira coisa a ser feita, é definir uma de duas variáveis de ambiente: EDITOR ou VISUAL. Para isto, edite o arquivo .bashrc e insira uma das duas linhas abaixo:

  export EDITOR=/usr/bin/vim
  export VISUAL=vi

O bash irá primeiro tentar com o editor definido na variável de ambiente VISUAL, e se não der certo, irá tentar o editor definido em EDITOR.

O vim é a minha preferência pessoal, mas você pode definir aqui o seu editor favorito, como emacs, pico, joe, etc.

Isto feito, quando desejar editar a linha de comandos, digite a sequência <CTRL>-x+e (pressione a tecla CTRL e em seguida as teclas x e e, mantendo pressionada a tecla CTRL). Se você ainda não editou nada, o editor vim é aberto sem nenhum conteúdo. Caso você já tenha editado algo, o vim abre com o conteúdo já digitado. Você pode também buscar por algum conteúdo que já tenha escrito com o recurso de navegação do bash e ao chegar no comando desejado, digite a sequência <CTRL>-x+e.

Ao sair do editor de textos, o comando digitado é imediatamente executado. Caso você queira guardar o que escreveu para uso futuro, basta salvar o arquivo em algum lugar do seu disco rígido.

Referência: Rapidly invoke an editor to write a long, complex, or tricky command

Veja também



 

 

Veja a relação completa dos artigos de Rubens Queiroz de Almeida

Opinião dos Leitores

agx
10 Set 2014, 09:52
Excelente dica! Obrigado.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script