2011-11-13 7 views
2

comment puis-je lier plus d'une commande à une seule clé dans gnu-screen? Je souhaite combiner les deux mappagesLier plus d'une commande à une seule touche dans l'écran?

bind c copy 
bind b eval "writebuf" "exec sh -c 'xsel --clipboard < /tmp/screen-exchange'" 

en un seul mappage à une touche. Comment cela peut-il être fait?

Est-ce que quelqu'un connaît un bon tutoriel sur cette configuration avancée/scripts pour gnu-screen?

Merci à l'avance, Chris

Répondre

2

passer chaque commande comme argument séparé à eval, par exemple, eval "echo foo" "echo bar". Dans votre scénario donné, je pense que l'ajout de copy après eval ferait ce que vous voulez.

+0

Merci Arkku, mais ça ne marche pas pour moi. Si j'utilise "bind c eval" copier "" writebuf "" exec sh -c 'xsel --clipboard Chris

+0

Il semble que' copy' peut interrompre le traitement Essayez d'ajouter 'echo's avant et après chaque commande afin que vous puissiez voir comment la commande progresse, dans mon test rapide, il semblait que l'entrée dans le mode copie/scrollback l'interrompt il – Arkku

+0

Il semble que seulement si je n'appuie sur aucune touche la séquence de commande entière est exécutée et une copie vide écrite dans/tmp/screen ... Si j'appuie sur RETURN pour définir la première marque, la séquence entière est interrompue – Chris

0

J'utilise

 bind \# eval focus "resize 130" 

par exemple pour passer entre deux fenêtres de division verticale et redimensionner, en même temps, la fenêtre ciblée pour 130 colonnes (en appuyant sur « C-A # »). Donc, la concaténation de plusieurs commandes avec 'eval' semble fonctionner correctement.

Questions connexes