# libtmux.Server.bind_key

- **Module:** libtmux
- **Package:** libtmux
- **Language:** Python
- **Kind:** method
- **Source:** https://github.com/tmux-python/libtmux/blob/38e368c11117fb4aeb2f082d552cd4f210eae06a/src/libtmux/server.py#L661
- **Page:** https://libtmux.org/en/py/stable/reference/libtmux-server-bind_key/

tmux command: [`bind-key`](/en/tmux/latest/manual/bind-key/)

```
libtmux.Server.bind_key(
    self,
    key: str,
    command: str,
    key_table: str | None = None,
    note: str | None = None,
    repeat: bool | None = None,
) -> None
```

Bind a key to a command via [`$ tmux bind-key`](/en/tmux/latest/manual/bind-key/).

## Examples

```python
>>> server.bind_key('F12', 'display-message test', key_table='root')
>>> server.unbind_key('F12', key_table='root')
```

## Parameters

- `key` (`str`): Key to bind (e.g. ``C-a``, ``F12``, ``M-x``).
- `command` (`str`): Tmux command to run when key is pressed.
- `key_table` (`str | None`): Key table to bind in (``-T`` flag). Defaults to ``prefix``.
- `note` (`str | None`): Note for the binding (``-N`` flag).
- `repeat` (`bool | None`): Allow the key to repeat (``-r`` flag).

## In other ports

### Bind a key to a tmux command

- Rust: [`server.Server.bind_key`](/en/rs/latest/reference/server-server-bind_key/) (method)
- Go: [`tmux.Server.BindKey`](/en/go/latest/reference/tmux-server-bindkey/) (method)
- Java: [`io.github.libtmux.Keys.Keys.bind`](/en/java/latest/reference/io-github-libtmux-keys-keys-bind/) (method)
- C#: [`LibTmux.TmuxKeys.BindAsync`](/en/csharp/latest/reference/libtmux-tmuxkeys-bindasync/) (method)
- C++: [`libtmux::Server::bind_key`](/en/cxx/latest/reference/libtmux-server-bind_key/) (method)
