J'essaie de me lier X
pour faire ce qui suit:
- demander à l'utilisateur si la session doit être interrompue
- si
y
est entré, tuez la session - après la fin de la session, sélectionnez une autre session (dernière, précédente ou suivante)
Quelques commandes similaires qui ne sont pas tout à fait correctes
Tuez la session et fermez le terminal:
bind X confirm-before -p "Kill #S (y/n)?" kill-session
Invitez l'utilisateur à indiquer le nom de la session à supprimer et sélectionnez la session suivante après la suppression:
bind X command-prompt -p "kill:" "switch-client -n \; kill-session -t '%%'"
Je n'ai pas pu trouver d'exemples de commandes similaires. Voici une solution quelque chose qui ne fonctionne pas:
bind X confirm-before -p "Kill #S (y/n)?" "SESSION='#S' \; \ switch-client -n \; kill-session -t \"$SESSION\""
tmux display-message -p "#S"
astuce dans une autre réponse. Il semble que tout emballer dans run-shell était la clé. Merci!confirm-before
? J'ai du mal à réussir à m'échapper.bind-key X run-shell 'tmux switch-client -n \; kill-session -t "#S"'
( tmux 1.8+ serun-shell
développe#S
directement, donc nous pouvons omettre ledisplay-message
et ses citations supplémentaires)Juste au cas où quelqu'un tomberait sur cette question - tmux-sessionist fournit cette fonctionnalité avec beaucoup d'autres.
la source
Il y a une autre question qui pose une question similaire mais elle est légèrement différente.
Si vous voulez le
choose-session
comportement standard avec la fonctionnalité supplémentaire qui tue la session d'origine si aucun autre client n'y reste attaché, cette question peut également être intéressante.la source
Expansion de la réponse de Chris Johnsen (dans les commentaires) ci-dessus, sur la façon de le faire sans invite ou
confirm-before
:S'il ne reste qu'une seule session (la session dans laquelle vous êtes actuellement) et que vous exécutez la commande, vous recevrez un message "d'erreur" et la session n'est pas interrompue. Normalement (si vous êtes comme moi), vous voulez que la commande continue de tuer la session même s'il n'y a aucune autre session vers laquelle elle peut basculer. Voici donc ce que je propose:
la source