Dans ~/.tmux.conf
, avec
bind-key v split-window "vim"
Je peux lancer vim dans une fenêtre divisée.
Comment puis-je utiliser deux clés dans un tmux bind-key
?
Exemple:
bind-key vG split-window "vim +$"
Vous ne pouvez pas. tmux
n'autorise que les liaisons à clé unique (seules, en utilisant bind-key -n
ou en suivant la clé de préfixe).
Cependant, vous pouvez essayer de lier "v" à une invocation de command-prompt
:
bind-key v command-prompt "tmux-vim.bash %%"
où tmux-vim.bash
ressemble quelque chose comme
if [ $1 = "G" ]; then
tmux split-window "vim +$"
fi
Ensuite, après avoir tapé v pour accéder à l'invite de commande, il vous suffira de taper "G" et d'appuyer sur Entrée. "G" serait passé comme argument à tmux-vim.bash
, et ce script se chargerait d'exécuter la tmux
commande que vous vouliez (à l'origine) associer à "vG".
bind -c
+command -c
Comme @chepner l'a dit, vous ne pouvez pas le faire directement . Ce que vous pouvez faire est
v
de créer une liaisonG
qui crée ce que vous voulez, puis qui se dissocie.bind-key v bind-key -n G split-window "vim +$" \\; unbind -n G
Il y a deux choses importantes à noter avec cette approche:
G
); Si vous souhaitez que quelque chose soit lié àG
et que quelque chose d'autre soit lié àvG
votre étape de dégroupage, vous devez restaurer la liaison d'origine.tmux
segfault si vous incluez.tmux.conf
unebind-key
déclaration trop longue. Si cela devient un problème, vous pouvez contourner ce problème en plaçant votre changement de contexte dans des scripts bash, puis lier une clé pour exécuter ces scripts.Pour un exemple plus compliqué, voyez cet article .
la source
Au-delà de l'
command-prompt
approche proposée dans les autres réponses, vous pouvez avoir un deuxième ensemble de mappages en utilisant un préfixe différent:Ainsi, vous pouvez faire ce qui suit:
mapper à
c-v g
au lieu dec-b vG
. L'inconvénient est qu'il occultera tout mappage par défaut, car il sera également accessible viac-b g
.la source
Répondre
Il n'y a qu'une seule bonne solution pour cela:
Si vous voulez avoir la possibilité de passer des arguments personnalisés, vous devriez plutôt utiliser celui-ci:
Plus d'exemples:
La chose notable
Vous devez utiliser un nom de tablette unique pour chaque liaison multiple. Exemple:
la source