Linux bash shell copie as linhas anteriores (sem histórico) com o teclado

7

É possível usar o teclado para selecionar algum texto nas janelas de terminal que não estejam na linha atualmente editada? (por exemplo, para copiar parte da saída do comando anterior).

    
por Itay 14.06.2011 / 10:47

3 respostas

7

Até onde eu sei, nenhum dos "três grandes" emuladores de terminal pode fazer isso, mas ambos screen e tmux oferecem um buffer de rolagem que você pode acessar via teclado.

tela GNU

A tecla Prefix do screen é Ctrl + A por padrão, mas tudo isso é personalizável, portanto com uma configuração padrão:

  1. Entre no modo de cópia com Ctrl + A [.

  2. Mova o cursor com vi movimentos: h , j , k , l , 0 , ^ , $ , H , M , L , w , b , e , / , ? , g e G todo o trabalho (veja man screen sob copy para mais informações sobre as combinações de teclas).

  3. Comece a selecionar com Espaço , mova-se e pare de selecionar com Espaço novamente. Isso vai deixar o modo de cópia.

  4. Cole o texto selecionado com Ctrl + A ] .

tmux

tmux se comporta da mesma maneira, exceto pelo fato de usar algumas chaves diferentes por padrão:

  1. Entre no modo de cópia com Ctrl + B [.

  2. Mova o cursor com , , , , PgUp , PgDown etc. (consulte man tmux | less -p '^WINDOWS AND PANES' para a lista de ligações do modo de cópia).

  3. Comece a selecionar com Ctrl + Espaço , mova-se e pare de selecionar com Meta + w . Isso vai deixar o modo de cópia.

  4. Cole o texto selecionado com Ctrl + B ] .

por 14.06.2011 / 14:02
1

Depende do terminal que você usa. É possível no modo shell em emacs .

    
por 14.06.2011 / 11:08
0

Não é bem o que você está perguntando, mas se você redirecionar a saída através do xclip, você pode puxá-lo da área de transferência e editá-lo. Eu nunca pensei em usá-lo para minimizar o uso do teclado.

$ echo "this is the primary buffer" | xclip -selection "primary"
$ cat << EOF > primary.txt
> this is the primary buffer
> EOF

No gnome-terminal, posso usar o shift-insert para colar no arquivo here. Na man page xclip -selection, "clipboard" faz a área de transferência real em vez do buffer x.

Parece que não consigo trabalhar com tee ... hmmm ... isso é meio importante.

    
por 14.06.2011 / 15:41

Tags