1KITTY(1)                             kitty                            KITTY(1)
2
3
4

NAME

6       kitty - kitty Documentation
7
8          kitty [options] [program-to-run ...]
9
10       Run  the  kitty  terminal emulator. You can also specify the program to
11       run inside kitty as normal arguments following the options.  For  exam‐
12       ple: kitty --hold sh -c "echo hello, world"
13
14       For    comprehensive    documentation    for    kitty,    please   see:
15       https://sw.kovidgoyal.net/kitty/
16

OPTIONS

18       --class <CLS>
19              Set the class part of the WM_CLASS window property. On  Wayland,
20              it sets the app id.  Default: kitty
21
22       --name <NAME>
23              Set  the  name  part of the WM_CLASS property. Defaults to using
24              the value from kitty --class.
25
26       --title <TITLE>, -T <TITLE>
27              Set the OS window title. This will override any title set by the
28              program running inside kitty, permanently fixing the OS window's
29              title. So only use this if you are running a program  that  does
30              not set titles.
31
32       --config <CONFIG>, -c <CONFIG>
33              Specify a path to the configuration file(s) to use. All configu‐
34              ration files are merged onto the builtin kitty.conf,  overriding
35              the  builtin values. This option can be specified multiple times
36              to read multiple configuration  files  in  sequence,  which  are
37              merged. Use the special value NONE to not load any config file.
38
39              If  this  option is not specified, config files are searched for
40              in   the   order:   $XDG_CONFIG_HOME/kitty/kitty.conf,   ~/.con‐
41              fig/kitty/kitty.conf,   $XDG_CONFIG_DIRS/kitty/kitty.conf.   The
42              first one that exists is used as the config file.
43
44              If the environment variable KITTY_CONFIG_DIRECTORY is specified,
45              that  directory  is always used and the above searching does not
46              happen.
47
48              If /etc/xdg/kitty/kitty.conf exists, it is merged  before  (i.e.
49              with  lower priority) than any user config files. It can be used
50              to specify system-wide defaults for all users. You can  use  ei‐
51              ther - or /dev/stdin to read the config from STDIN.
52
53       --override <OVERRIDE>, -o <OVERRIDE>
54              Override individual configuration options, can be specified mul‐
55              tiple  times.  Syntax:  name=value.  For   example:   kitty   -o
56              font_size=20
57
58       --directory  <DIRECTORY>,  --working-directory  <DIRECTORY>, -d <DIREC‐
59       TORY>
60              Change to the specified directory when launching.  Default: .
61
62       --detach
63              Detach from the controlling terminal, if any. Not  available  on
64              macOS.
65
66       --session <SESSION>
67              Path  to  a  file containing the startup session (tabs, windows,
68              layout, programs). Use - to read from STDIN. See the README file
69              for  details  and  an example. Environment variables in the file
70              name are expanded, relative paths are resolved relative  to  the
71              kitty  configuration  directory. The special value none means no
72              session will be used, even if  the  startup_session  option  has
73              been specified in kitty.conf.
74
75       --hold Remain  open, at a shell prompt, after child process exits. Note
76              that this only affects the first window. You can quit by  either
77              using the close window shortcut or running the exit command.
78
79       --single-instance, -1
80              If specified only a single instance of kitty will run. New invo‐
81              cations will instead create a new top-level window in the exist‐
82              ing  kitty  instance. This allows kitty to share a single sprite
83              cache on the GPU and also reduces startup  time.  You  can  also
84              have separate groups of kitty instances by using the kitty --in‐
85              stance-group option.
86
87       --instance-group <INSTANCE_GROUP>
88              Used in combination with the kitty --single-instance option. All
89              kitty  invocations with the same kitty --instance-group will re‐
90              sult in new windows being created in the  first  kitty  instance
91              within that group.
92
93       --wait-for-single-instance-window-close
94              Normally,  when using kitty --single-instance, kitty will open a
95              new window in an existing instance and  quit  immediately.  With
96              this  option,  it  will not quit till the newly opened window is
97              closed. Note that if no previous instance is found,  then  kitty
98              will wait anyway, regardless of this option.
99
100       --listen-on <LISTEN_ON>
101              Listen on the specified socket address for control messages. For
102              example, kitty  --listen-on=unix:/tmp/mykitty  or  kitty  --lis‐
103              ten-on=tcp:localhost:12345.  On  Linux systems, you can also use
104              abstract UNIX sockets, not associated with a  file,  like  this:
105              kitty  --listen-on=unix:@mykitty.  Environment variables are ex‐
106              panded and relative paths are resolved with respect to the  tem‐
107              porary  directory. To control kitty, you can send commands to it
108              with kitten @ using the kitten @ --to option to specify this ad‐
109              dress.  Note  that  if  you  run kitten @ within a kitty window,
110              there is no need to specify the kitten @ --to option as it  will
111              automatically  read from the environment. Note that this will be
112              ignored unless  allow_remote_control  is  set  to  either:  yes,
113              socket or socket-only. This can also be specified in kitty.conf.
114
115       --start-as <START_AS>
116              Control  how the initial kitty window is created.  Default: nor‐
117              mal Choices: fullscreen, maximized, minimized, normal
118
119   Debugging options
120       --version, -v
121              The current kitty version.
122
123       --dump-commands
124              Output commands received from child process to STDOUT.
125
126       --replay-commands <REPLAY_COMMANDS>
127              Replay previously dumped commands. Specify the path  to  a  dump
128              file previously created by kitty --dump-commands. You can open a
129              new kitty window to replay the commands with:
130
131                 kitty sh -c "kitty --replay-commands /path/to/dump/file; read"
132
133       --dump-bytes <DUMP_BYTES>
134              Path to file in which to store the raw bytes received  from  the
135              child process.
136
137       --debug-gl, --debug-rendering
138              Debug  rendering  commands.  This will cause all OpenGL calls to
139              check for errors instead of ignoring them. Also prints out  mis‐
140              cellaneous  debug  information.  Useful when debugging rendering
141              problems.
142
143       --debug-input, --debug-keyboard
144              Print out key and mouse events as they are received.
145
146       --debug-font-fallback
147              Print out information about the selection of fallback fonts  for
148              characters not present in the main font.
149
150       --watcher <WATCHER>
151              This  option  is  deprecated  in  favor of the watcher option in
152              kitty.conf and should not be used.
153

TABS AND WINDOWS

155       kitty is capable of running multiple programs organized into  tabs  and
156       windows.   The top level of organization is the OS window. Each OS win‐
157       dow consists of one or more tabs. Each tab  consists  of  one  or  more
158       kitty  windows. The kitty windows can be arranged in multiple different
159       layouts, like windows are organized in a  tiling  window  manager.  The
160       keyboard  controls  (which  are  all customizable) for tabs and windows
161       are:
162
163   Scrolling
164              ┌──────────────────────────┬────────────────────────────┐
165              │Action                    │ Shortcut                   │
166              ├──────────────────────────┼────────────────────────────┤
167              │Line up                   │ ctrl+shift+up (also  ⌥+⌘+⇞ 
168              │                          │ and ⌘+↑ on macOS)          │
169              ├──────────────────────────┼────────────────────────────┤
170              │Line down                 │ ctrl+shift+down      (also │
171              │                          │ ⌥+⌘+⇟ and ⌘+↓ on macOS)    │
172              ├──────────────────────────┼────────────────────────────┤
173              │Page up                   │ ctrl+shift+page_up   (also │
174              │                          │ ⌘+⇞ on macOS)              │
175              ├──────────────────────────┼────────────────────────────┤
176              │Page down                 │ ctrl+shift+page_down (also │
177              │                          │ ⌘+⇟ on macOS)              │
178              ├──────────────────────────┼────────────────────────────┤
179              │Top                       │ ctrl+shift+home (also  ⌘+↖ 
180              │                          │ on macOS)                  │
181              ├──────────────────────────┼────────────────────────────┤
182              │Bottom                    │ ctrl+shift+end  (also  ⌘+↘ 
183              │                          │ on macOS)                  │
184              ├──────────────────────────┼────────────────────────────┤
185              │Previous shell prompt     │ ctrl+shift+z  (see   Shell
186              │                          │ integration)               │
187              ├──────────────────────────┼────────────────────────────┤
188              │Next shell prompt         │ ctrl+shift+x   (see  Shell
189              │                          │ integration)               │
190              ├──────────────────────────┼────────────────────────────┤
191              │Browse scrollback in less │ ctrl+shift+h
192              ├──────────────────────────┼────────────────────────────┤
193              │Browse last cmd output    │ ctrl+shift+g  (see   Shell
194              │                          │ integration)               │
195              └──────────────────────────┴────────────────────────────┘
196       The  scroll  actions  only take effect when the terminal is in the main
197       screen.  When the alternate screen is active (for example when using  a
198       full  screen  program like an editor) the key events are instead passed
199       to program running in the terminal.
200
201   Tabs
202                  ┌──────────────────┬────────────────────────────┐
203                  │Action            │ Shortcut                   │
204                  ├──────────────────┼────────────────────────────┤
205                  │New tab           │ ctrl+shift+t (also ⌘+t  on │
206                  │                  │ macOS)                     │
207                  ├──────────────────┼────────────────────────────┤
208                  │Close tab         │ ctrl+shift+q  (also ⌘+w on │
209                  │                  │ macOS)                     │
210                  ├──────────────────┼────────────────────────────┤
211                  │Next tab          │ ctrl+shift+right (also ⌃+⇥ 
212                  │                  │ and ⇧+⌘+] on macOS)        │
213                  ├──────────────────┼────────────────────────────┤
214                  │Previous tab      │ ctrl+shift+left      (also │
215                  │                  │ ⇧+⌃+⇥ and ⇧+⌘+[ on macOS)  │
216                  ├──────────────────┼────────────────────────────┤
217                  │Next layout       │ ctrl+shift+l
218                  ├──────────────────┼────────────────────────────┤
219                  │Move tab forward  │ ctrl+shift+.
220                  ├──────────────────┼────────────────────────────┤
221                  │Move tab backward │ ctrl+shift+,
222                  ├──────────────────┼────────────────────────────┤
223                  │Set tab title     │ ctrl+shift+alt+t     (also │
224                  │                  │ ⇧+⌘+i on macOS)            │
225                  └──────────────────┴────────────────────────────┘
226   Windows
227                ┌──────────────────────┬────────────────────────────┐
228                │Action                │ Shortcut                   │
229                ├──────────────────────┼────────────────────────────┤
230                │New window            │ ctrl+shift+enter (also ⌘+↩ 
231                │                      │ on macOS)                  │
232                ├──────────────────────┼────────────────────────────┤
233                │New OS window         │ ctrl+shift+n (also ⌘+n  on │
234                │                      │ macOS)                     │
235                ├──────────────────────┼────────────────────────────┤
236                │Close window          │ ctrl+shift+w  (also  ⇧+⌘+d 
237                │                      │ on macOS)                  │
238                ├──────────────────────┼────────────────────────────┤
239                │Resize window         │ ctrl+shift+r (also ⌘+r  on │
240                │                      │ macOS)                     │
241                ├──────────────────────┼────────────────────────────┤
242                │Next window           │ ctrl+shift+]
243                ├──────────────────────┼────────────────────────────┤
244                │Previous window       │ ctrl+shift+[
245                ├──────────────────────┼────────────────────────────┤
246                │Move window forward   │ ctrl+shift+f
247                ├──────────────────────┼────────────────────────────┤
248                │Move window backward  │ ctrl+shift+b
249                ├──────────────────────┼────────────────────────────┤
250                │Move window to top    │ ctrl+shift+`
251                ├──────────────────────┼────────────────────────────┤
252                │Visually focus window │ ctrl+shift+f7
253                ├──────────────────────┼────────────────────────────┤
254                │Visually swap window  │ ctrl+shift+f8
255                ├──────────────────────┼────────────────────────────┤
256                │Focus specific window │ ctrl+shift+1, ctrl+shift+2
257                │                      │ ...   ctrl+shift+0   (also │
258                │                      │ ⌘+1, ⌘+2 ... ⌘+9 on macOS) │
259                │                      │ (clockwise    from     the │
260                │                      │ top-left)                  │
261                └──────────────────────┴────────────────────────────┘
262       Additionally, you can define shortcuts in kitty.conf to focus neighbor‐
263       ing windows and move windows around  (similar  to  window  movement  in
264       vim):
265
266          map ctrl+left neighboring_window left
267          map shift+left move_window right
268          map ctrl+down neighboring_window down
269          map shift+down move_window up
270          ...
271
272       You  can also define a shortcut to switch to the previously active win‐
273       dow:
274
275          map ctrl+p nth_window -1
276
277       nth_window will focus the nth window  for  positive  numbers  (starting
278       from zero) and the previously active windows for negative numbers.
279
280       To switch to the nth OS window, you can define nth_os_window. Only pos‐
281       itive numbers are accepted, starting from one.
282
283       You can define shortcuts to detach the current window and  move  it  to
284       another tab or another OS window:
285
286          # moves the window into a new OS window
287          map ctrl+f2 detach_window
288          # moves the window into a new tab
289          map ctrl+f3 detach_window new-tab
290          # moves the window into the previously active tab
291          map ctrl+f3 detach_window tab-prev
292          # moves the window into the tab at the left of the active tab
293          map ctrl+f3 detach_window tab-left
294          # asks which tab to move the window into
295          map ctrl+f4 detach_window ask
296
297       Similarly, you can detach the current tab, with:
298
299          # moves the tab into a new OS window
300          map ctrl+f2 detach_tab
301          # asks which OS Window to move the tab into
302          map ctrl+f4 detach_tab ask
303
304       Finally,  you can define a shortcut to close all windows in a tab other
305       than the currently active window:
306
307          map f9 close_other_windows_in_tab
308

OTHER KEYBOARD SHORTCUTS

310       The full list of actions that can be mapped to key presses is available
311       here.
312
313              ┌───────────────────────────┬────────────────────────────┐
314              │Action                     │ Shortcut                   │
315              ├───────────────────────────┼────────────────────────────┤
316              │Show this help             │ ctrl+shift+f1
317              ├───────────────────────────┼────────────────────────────┤
318              │Copy to clipboard          │ ctrl+shift+c  (also ⌘+c on │
319              │                           │ macOS)                     │
320              ├───────────────────────────┼────────────────────────────┤
321              │Paste from clipboard       │ ctrl+shift+v (also ⌘+v  on │
322              │                           │ macOS)                     │
323              ├───────────────────────────┼────────────────────────────┤
324              │Paste from selection       │ ctrl+shift+s
325              ├───────────────────────────┼────────────────────────────┤
326              │Pass selection to program  │ ctrl+shift+o
327              ├───────────────────────────┼────────────────────────────┤
328              │Increase font size         │ ctrl+shift+equal (also ⌘++ 
329              │                           │ on macOS)                  │
330              ├───────────────────────────┼────────────────────────────┤
331              │Decrease font size         │ ctrl+shift+minus (also ⌘+- 
332              │                           │ on macOS)                  │
333              ├───────────────────────────┼────────────────────────────┤
334              │Restore font size          │ ctrl+shift+backspace (also │
335              │                           │ ⌘+0 on macOS)              │
336              ├───────────────────────────┼────────────────────────────┤
337              │Toggle fullscreen          │ ctrl+shift+f11 (also ⌃+⌘+f 
338              │                           │ on macOS)                  │
339              ├───────────────────────────┼────────────────────────────┤
340              │Toggle maximized           │ ctrl+shift+f10
341              ├───────────────────────────┼────────────────────────────┤
342              │Input Unicode character    │ ctrl+shift+u         (also │
343              │                           │ ⌃+⌘+space on macOS)        │
344              ├───────────────────────────┼────────────────────────────┤
345              │Open URL in web browser    │ ctrl+shift+e
346              ├───────────────────────────┼────────────────────────────┤
347              │Reset the terminal         │ ctrl+shift+delete    (also │
348              │                           │ ⌥+⌘+r on macOS)            │
349              ├───────────────────────────┼────────────────────────────┤
350              │Edit kitty.conf            ctrl+shift+f2 (also ⌘+, on │
351              │                           │ macOS)                     │
352              ├───────────────────────────┼────────────────────────────┤
353              │Reload kitty.conf          ctrl+shift+f5 (also  ⌃+⌘+, 
354              │                           │ on macOS)                  │
355              ├───────────────────────────┼────────────────────────────┤
356              │Debug kitty.conf           ctrl+shift+f6  (also ⌥+⌘+, 
357              │                           │ on macOS)                  │
358              ├───────────────────────────┼────────────────────────────┤
359              │Open a kitty shell         │ ctrl+shift+escape
360              ├───────────────────────────┼────────────────────────────┤
361              │Increase background  opac‐ │ ctrl+shift+a>m
362              │ity                        │                            │
363              ├───────────────────────────┼────────────────────────────┤
364              │Decrease  background opac‐ │ ctrl+shift+a>l
365              │ity                        │                            │
366              ├───────────────────────────┼────────────────────────────┤
367              │Full background opacity    │ ctrl+shift+a>1
368              ├───────────────────────────┼────────────────────────────┤
369              │Reset background opacity   │ ctrl+shift+a>d
370              └───────────────────────────┴────────────────────────────┘

SEE ALSO

372       See kitty.conf(5)
373

AUTHOR

375       Kovid Goyal
376
378       2023, Kovid Goyal
379
380
381
382
3830.31.0                           Nov 08, 2023                         KITTY(1)
Impressum