Altera o diretório de trabalho de 2 terminais de uma só vez

3

Eu normalmente tenho o gnome-terminal aberto com ~ 8 abas, usando 2 abas consecutivas para a mesma tarefa (uma tem emacs, a outra é usada para fazer checkins git e execuções unittest e assim).

Ao alterar as tarefas, preciso mover para um novo diretório - nas duas guias. Como posso alterar o diretório de trabalho da segunda guia para o da primeira guia, com o menor número de etapas possível? De preferência apenas teclado.

    
por cweiske 18.06.2012 / 08:26

4 respostas

4

Aqui está uma solução alternativa: em uma guia, grave o CWD em um arquivo temporário, nas outras guias, cd para o diretório recém-salvo. Eu colocaria esses dois aliases no meu .bashrc ou .bash_profile:

alias ds='pwd > /tmp/cwd'
alias dr='cd "$(</tmp/cwd)"'

o comando ds (dir save) marca o CWD e o comando dr (dir recall) cd para ele. Você pode fazer algo semelhante para o C-shell.

    
por 18.06.2012 / 22:08
2

Experimente o terminador do emulador de terminal. Você pode abrir vários shells e usar o recurso "Broadcast All" para enviar o mesmo comando para todos eles.

    
por 18.06.2012 / 14:14
2

O que você está procurando, pode ser obtido escrevendo um script de shell com a ajuda de

xdotool

Exemplo de script que você pode usar:

#!/bin/bash
xdotool type "cd $1
"
xdotool key Ctrl+Next
xdotool type "cd $1
"
    
por 18.06.2012 / 12:17
2

No zsh, você pode fazer o seguinte:

  1. Executa um comando em um shell.
  2. Executar fc -AI nesse shell.
  3. Executar fc -RI em outro shell.
  4. Execute !! ou pressione Acima e então Digite no segundo shell para recuperar o último comando executado no primeiro shell.

fc -AI escreve o histórico de comandos do primeiro shell, e fc -RI o lê de volta no segundo shell. Se você ativar o inc_append_history , o equivalente a fc -AI será executado automaticamente após cada comando.

Se você ativar a opção share_history , todas as linhas do histórico serão automaticamente compartilhadas entre todas as instâncias do shell, para que você possa ir direto do passo 1 para o passo 4. Isso pode parecer invasivo.

Se você usou um caminho relativo para alterar o diretório, precisará primeiro obter um caminho absoluto. Uma maneira de fazer isso é digitar cd $PWD (ou apenas $PWD se você tiver a opção auto_cd ativada) e pressionar Tab (ou C-x * com algumas configurações de conclusão) para expandir $PWD , em seguida, pressione Enter .

    
por 19.06.2012 / 01:07