Skip to content
This repository has been archived by the owner on Jan 1, 2024. It is now read-only.

Latest commit

 

History

History
113 lines (75 loc) · 3.15 KB

faq.md

File metadata and controls

113 lines (75 loc) · 3.15 KB

FAQ

I don’t have a popup command

Popups (+) are used for fzf commands.

Example

+ :fzf

If your terminal does not have popups, you can add a fallback to the underlying terminal.

ExampleX11 configuration:

hook global ModuleLoaded x11 %{
  alias global popup x11-terminal
}

Exampletmux configuration:

hook global ModuleLoaded tmux %{
  alias global popup tmux-terminal-vertical
}

Examplekitty configuration:

hook global ModuleLoaded kitty %{
  alias global popup kitty-terminal-tab # or kitty-terminal
}

What is the difference between > and $?

The > or connect-terminal command runs its arguments (by default your shell) inside a connected terminal, while $ or connect-shell simply runs its arguments in a connected environment.

Some programs must be run inside a terminal, while others spawn their own graphical window.

Use > for the first type and $ for the second.

What is the purpose of &?

The & or connect-detach command detaches (closes) the current client (leaving you in a terminal if you launched Kakoune there) and creates a file named connect.sh that you can execute with sh to start a shell connected to that client’s server.

Notes

  • The file is automatically erased after being sourced.
  • Kakoune refuses to quit if you try to detach the last client and you didn’t start it in daemon mode.

What is kak-shell?

kak-shell is a program to start an interactive shell (or a program) connected to a session, in the same way nix-shell does.

Initially, it displays the list of active sessions and asks you to choose one.

Illustration

$ kak-shell
Kakoune sessions:
1 kanto
2 johto
+ create new session
Kakoune session: 1█
@kanto $ :a█

If you enter a number i, it will try to connect to the i-th entry. Otherwise, it will interpret the entry as a session name and connect to it. If the session does not exists, the session will be started in daemon mode.

Apart from running a connected shell, you can use kak-shell to run commands in the context of the session. For example, you can run kak-shell kanto lazygit to run lazygit connected to the kanto session.

What is the difference between commands and modules?

The term module is used for small program integrations for Kakoune (which are implemented as Kakoune’s modules).

The term command is used for small binaries that can be used by a connected application.

Why do all connect commands start with :?

The : is the key used to access the prompt menu inside Kakoune. Because the commands usually resemble Kakoune commands, prepending them with : is a good way to reuse our muscle memory, and it makes it very simple to differentiate them from traditional commands (think of pwd vs. :pwd).