Core LibraryalphaAPI Reference

Choose documentation 3

latest

Current version

latest
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

method libtmux-cxx latest

Server.bind_key

Bind a key in a key table, and take a binding away again.

Source and package
Qualified name
libtmux::Server::bind_key
Namespace
libtmux
Declared in
Server
Package
libtmux-cxx
Source
include/libtmux/server.hpp
Other languages
Perl Erlang PowerShell Julia Elixir Haskell Common Lisp Python Ruby Lua TypeScript RustGoJavaC# Swift Kotlin Scala OCaml F# Clojure
[[C++ nodiscard attributeAsks the compiler to warn when a result is discarded. An explicit cast to void acknowledges that the result is intentionally ignored.Language documentation]] expected<void, CommandFailure> bind_key(std::string_view table, std::string_view key, const std::vector<std::string>& command, bool repeatable = false) const;

Description#

The command is argv, not a string, so nothing here has to be quoted for tmux to take it apart again correctly.

A table name containing whitespace is refused. tmux accepts one and then prints it unquoted in list-keys, where -T my table X command cannot be told apart from the table my bound to the key table — so a name that survives being listed is required, the same way a target refuses a name that cannot survive being parsed.

Key names are tmux's to check: unlike send-keys, bind-key reports an unknown one — including an empty one — so there is nothing for this to add, and nothing here repeats it.

repeatable is tmux's -r, letting the key repeat without the prefix being pressed again.

tmux command#

The tmux commands behind bind_key.

tmux C API#

The C declarations in tmux that implement these commands.

In other ports#

Bind a key to a tmux command

Equivalents of Bind a key to a tmux command in other languages
Language Equivalent
Python libtmux.Server.bind_key
Erlang tmux_key:bind/3
Haskell No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing.
TypeScript no equivalent on Server
Rust server.Server.bind_key
Go tmux.Server.BindKey
Java io.github.libtmux.Keys.bind
C# LibTmux.TmuxKeys.BindAsync
Swift no equivalent on Server
OCaml No direct public OCaml equivalent is recorded for this operation.
Perl No dedicated equivalent in the selected Perl surface. Explicit Server::cmd remains available for native tmux commands.

No equivalent is recorded in Ruby, Lua, PowerShell, Julia, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.

Esc

Type to search.

Reference previewOpen reference