Eu gostaria de configurar algo em um shell para me dar uma experiência semelhante a IDE usando apenas o shell (sem X). O mais próximo que cheguei foi usando o tmux, com o vim em um painel e a linha de comando no outro. Dessa forma, do vim, posso .w !bash
executar uma linha.
Mas isso não é satisfatório para mim porque o ambiente não persiste entre os comandos executados separadamente.
Se eu correr:
var1=FOO
e depois
echo $var1
cada um usando .w !bash
, FOO
não será repetido.
O que eu realmente quero fazer é passar por um arquivo de texto em um painel e usar um atalho para enviar uma linha para o terminal no outro painel, como parte dessa sessão de terminal. Qual é a combinação certa de ferramentas para conseguir isso? Entendo que o emacs pode ser configurado para fazer algo assim com seu próprio emulador de terminal, mas gostaria de uma solução que funcionasse com as ferramentas de estoque (como em um instalador).
Edit: tmux select-copy-paste não é tão ruim, mas ainda um pouco estranho.
Uma solução de protótipo com
sh
,vim
etmux
, prova de conceito rápida e suja.Your
.w !bash
executabash
e envia a linha atual para seu stdin. Vamos substituirbash
por um script que injeta uma linha de seu stdin em um painel diferente emtmux
.Este é o roteiro básico:
O procedimento, breve explicação:
Salve-o como
trun
, torne-o executável e acessÃvel via$PATH
. Agora, se você tiver dois painéistmux
e executartrun
em um deles, digitar uma linha e clicar Enterem , a linha será injetada no outro painel.Em
vim
vez de.w !bash
invocar.w !trun
, deve funcionar. Vincule isso a uma chave para facilitar o acesso.Notas: