Macros na tela GNU?

7

Eu uso o programa de linha de comando screen no Linux o tempo todo, e examinei a página man, mas não encontrei a resposta para isso (embora talvez eu tenha perdido):

O que eu quero fazer é ter um único comando que divida a região atual, aba para a nova região e abra uma nova tela. Eu esperava que houvesse alguma maneira de talvez entrar no modo de comando (dois pontos) e fazer algo como split; focus down; screen , mas isso não funciona. Alguma ideia? É possível, talvez, ligar uma série de comandos a uma única ligação C-a ?

    
por dirtside 11.01.2010 / 23:50

3 respostas

6

Você já tentou:

register s ^aS^i^ac
bindkey ^a,, process s

Nas profundezas do manual da tela:

register [-e encoding] key string

Save the specified string to the register key. The encoding of the string can be specified via the -e option. See also the "paste" command.

e:

process [key]

Stuff the contents of the specified register into screen's input queue. If no argument is given you are prompted for a register name. The text is parsed as if it had been typed in from the user's keyboard. This command can be used to bind multiple actions to a single key.

    
por 12.01.2010 / 12:00
6

Você também pode organizar alguns arquivos desta maneira:

~ / .myscreenmacro :

split
focus down
screen

~ / .screenrc :

bind e source $HOME/.myscreenmacro

Isso é um pouco mais claro do que os outros caminhos.

    
por 01.09.2010 / 04:54
3

O comando eval da tela é útil para criar esse tipo de macro:

screen -X bind e eval split 'focus down' screen

Os comandos que esperam argumentos (como focus down ) precisam ser citados (simples ou duplo).

    
por 09.08.2010 / 11:47