Abra a saída do terminal no sublime2

2

Eu quero abrir a saída dos comandos do terminal no sublime2.

por exemplo. quando eu faço $ list , ele lista todos os arquivos / pastas no terminal. Eu quero que quando eu executar este comando um arquivo de texto temporário deve ser criado e a saída é aberta no editor sublime2. Não tenho intenção de salvá-lo. Eu só quero abrir a saída no sublime2.

Eu vi que você pode abrir em textmate em Mac , exibindo a saída.

$ls | mate (não tenho certeza sobre a sintaxe)

    
por Jashwant 11.10.2012 / 09:33

2 respostas

1

Você pode usar um script muito simples para fazer isso.

Aqui está o script:

#! /bin/bash

"$@" > $$.txt
sublime-text $$.txt
rm $$.txt

Salve-o como sublime.sh (você pode usar qualquer outro nome) e torne-o executável executando:

chmod +x sublime.sh

Para usá-lo:

./sublime.sh <command>

Exemplo:

./sublime.sh ls -l

Explicação:

  • A linha 1 é a shebang , que apenas especifica o intérprete.
  • A linha 3 executa o comando que você transmitiu e salva em um arquivo chamado $$.txt . $$ retorna o PID do terminal que você está usando (fique à vontade para usar qualquer outro nome de arquivo).
  • A linha 4 abre o arquivo em sublime-text
  • A linha 5 exclui o arquivo, pois você não deseja salvar o arquivo permanentemente.

Atualização: Você também pode colocá-lo em seu arquivo ~/.bashrc para acessá-lo facilmente.

  • Abra um terminal.
  • Ir para a pasta inicial.
cd
  • Abra o arquivo .bashrc .
gedit .bashrc
  • Copie o seguinte no final do arquivo.
function sublime()
{
    "$@" > ~/$$.txt
    sublime-text ~/$$.txt
    rm ~/$$.txt
}
  • Execute o seguinte comando para atualizar:
. .bashrc
  • Feito !! Agora use:
sublime ls -l
    
por green 11.10.2012 / 10:19
1

Eu usei esse método no passado para conseguir o que você quer (eu acho)

ls -lrt > tmp.txt && gedit tmp.txt

obviamente você precisa mudar a referência ao gedit para que ele use o seu editor preferido, neste caso sublime.

Minha pergunta seria o que você está tentando conseguir com isso? Parece que você está tentando gravar a saída de suas sessões de terminal. Se este for o caso, você pode usar o comando "script"

user@machine $ script ~/temp/terminal.txt

apenas digite exit para sair da gravação

user@machine ~/temp $ exit
exit
Script done, file is /home/user/temp/terminal.txt

Isso deve significar que o terminal.txt contém um log completo da sessão espero que isso ajude

    
por apacheuk 11.10.2012 / 10:18