bash
, zsh
e ksh
(incluindo seus derivados) possuem um comando muito legal no comando fc
, que abre um editor para alterar seu comando anterior. Se a variável FCEDIT
não estiver configurada, por padrão, chamará o editor configurado em EDITOR
; se a variável EDITOR
não estiver definida, por padrão, chamará nano
.
O que você pode fazer é definir FCEDIT=/usr/bin/gedit
. Agora há o truque: você executa um longo comando, você decide que quer mudá-lo, então imediatamente depois de executá-lo, chame fc
. Isso gerará a janela gedit
com seu comando pronto para ser alterado. Depois de alterar, salve e saia como faria normalmente.
A desvantagem? Ele deixará um rastro de mensagens gtk desnecessárias no terminal. Pessoalmente, eu uso editores de linha de comando vim
ou nano
em vez de gedit - eles não deixam nenhum rastreio, além de poderem ser usados em TTY
não apenas no ambiente da GUI. Eu sugiro strongmente que você mude para nano
, pois é um dos mais fáceis editores de texto de linha de comando.
Nota extra em bash
, você pode fazer o mesmo com a linha de comando que está atualmente editando com ctrl + X + E ou ctrl + X - ctrl + E ; você pode ter o mesmo comportamento em zsh
adicionando ao seu .zshrc
autoload -z edit-command-line
zle -N edit-command-line
bindkey '^XE' edit-command-line # binds CTRL+X+E
bindkey "^X^E" edit-command-line # binds CTRL+X - CTRL+E