Usando o emacs para controlar processos de linha de comando

3

Eu tenho uma grande quantidade de utilitários de linha de comando que eu uso no desenvolvimento do dia-a-dia (por exemplo, Maven, ant, Grizzly, mplayer, ferramentas CASE, etc). Eu uso o Windows. Toda vez que eu quero iniciar um novo processo, acabo tendo que criar um novo processo cmd.exe e digitar o que eu quero rodar. Às vezes, vou ter cinco cmd.exe abertos por vez !! Está ficando difícil de gerenciar.

Existe alguma maneira de fazer isso diretamente no emacs? Aqui está o que eu gostaria:

  • Ter várias saídas do cmd.exe armazenadas no emacs (provavelmente um novo buffer para cada)
  • Capacidade de enviar stdin e ctrl-c para o processo
  • Maneira fácil de reiniciar o comando sem redigitar a coisa toda (como pressionar a seta para cima no cmd.exe)
  • Capacidade de colar determinados parâmetros ao comando para execução (por exemplo, -file = C: \ my \ directory \ my.file)
  • Capacidade de copiar a saída para a área de transferência. O ideal é não quebrar em 40 colunas ou algo assim como o cmd.exe.

Isso soa como uma tarefa viável no emacs, mas não consigo descobrir como fazer isso. Eu adoraria poder usar o ssh e fazer algo semelhante em caixas Linux remotas também.

Talvez haja outra solução mais óbvia do que o emacs. Se sim, por favor me ilumine.

EDIT: Eu notei que o emacs tem um comando eshell. Acho que minhas necessidades seriam satisfeitas se eu conseguisse que isso funcionasse em vários buffers de uma só vez.

    
por User1 27.10.2009 / 15:40

1 resposta

3

Sou uma pessoa tendenciosa do linux / emacs, então aqui está o que eu tentaria:

  • instale o cygwin com sua versão do emacs
  • executa vários shells no emacs. M-x shell lança um shell no emacs. Se você der um prefixo arg ( C-u M-x shell ), o emacs solicitará o nome para o buffer do shell. Dessa forma, você pode ter vários buffers de shell.
  • crie alias de bash para que as várias tarefas sejam executadas, por exemplo, crie um alias chamado "mp" para algo como " mplayer -option1 -option2 23 "

Muitas pessoas que não são linux / cygwin se inclinam como o PowerShell . Isso também fornece aliases. Algumas pessoas escreveram sobre executando o powershell dentro do emacs .

    
por 27.10.2009 / 15:59