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.
64
65       --session <SESSION>
66              Path to a file containing the startup  session  (tabs,  windows,
67              layout, programs). Use - to read from STDIN. See the README file
68              for details and an example. Environment variables are  expanded,
69              relative  paths are resolved relative to the kitty configuration
70              directory.
71
72       --hold Remain open after child process exits. Note that this  only  af‐
73              fects  the  first window. You can quit by either using the close
74              window shortcut or pressing any key.
75
76       --single-instance, -1
77              If specified only a single instance of kitty will run. New invo‐
78              cations will instead create a new top-level window in the exist‐
79              ing kitty instance. This allows kitty to share a  single  sprite
80              cache  on  the  GPU  and also reduces startup time. You can also
81              have separate groups of kitty instances by using the kitty --in‐
82              stance-group option.
83
84       --instance-group <INSTANCE_GROUP>
85              Used in combination with the kitty --single-instance option. All
86              kitty invocations with the same kitty --instance-group will  re‐
87              sult  in  new  windows being created in the first kitty instance
88              within that group.
89
90       --wait-for-single-instance-window-close
91              Normally, when using kitty --single-instance, kitty will open  a
92              new  window  in  an existing instance and quit immediately. With
93              this option, it will not quit till the newly  opened  window  is
94              closed.  Note  that if no previous instance is found, then kitty
95              will wait anyway, regardless of this option.
96
97       --listen-on <LISTEN_ON>
98              Listen on the specified socket address for control messages. For
99              example,  kitty  --listen-on=unix:/tmp/mykitty  or  kitty --lis‐
100              ten-on=tcp:localhost:12345. On Linux systems, you can  also  use
101              abstract  UNIX  sockets,  not associated with a file, like this:
102              kitty --listen-on=unix:@mykitty. Environment variables  are  ex‐
103              panded  and relative paths are resolved with respect to the tem‐
104              porary directory. To control kitty, you can send commands to  it
105              with  kitty  @ using the kitty @ --to option to specify this ad‐
106              dress. Note that if you run kitty @ within a kitty window, there
107              is  no  need to specify the kitty @ --to option as it will auto‐
108              matically read from the environment. Note that this will be  ig‐
109              nored  unless allow_remote_control is set to either: yes, socket
110              or socket-only.  For UNIX sockets, this can also be specified in
111              kitty.conf.
112
113       --start-as <START_AS>
114              Control  how the initial kitty window is created.  Default: nor‐
115              mal Choices: fullscreen, maximized, minimized, normal
116
117   Debugging options
118       --version, -v
119              The current kitty version.
120
121       --dump-commands
122              Output commands received from child process to STDOUT.
123
124       --replay-commands <REPLAY_COMMANDS>
125              Replay previously dumped commands. Specify the path  to  a  dump
126              file previously created by kitty --dump-commands. You can open a
127              new kitty window to replay the commands with:
128
129                 kitty sh -c "kitty --replay-commands /path/to/dump/file; read"
130
131       --dump-bytes <DUMP_BYTES>
132              Path to file in which to store the raw bytes received  from  the
133              child process.
134
135       --debug-gl, --debug-rendering
136              Debug  rendering  commands.  This will cause all OpenGL calls to
137              check for errors instead of ignoring them. Also prints out  mis‐
138              cellaneous  debug  information.  Useful when debugging rendering
139              problems.
140
141       --debug-input, --debug-keyboard
142              Print out key and mouse events as they are received.
143
144       --debug-font-fallback
145              Print out information about the selection of fallback fonts  for
146              characters not present in the main font.
147
148       --watcher <WATCHER>
149              This  option  is  deprecated  in  favor of the watcher option in
150              kitty.conf and should not be used.
151

TABS AND WINDOWS

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

OTHER KEYBOARD SHORTCUTS

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

SEE ALSO

372       See kitty.conf(5)
373

AUTHOR

375       Kovid Goyal
376
378       2022, Kovid Goyal
379
380
381
382
3830.26.5                           Nov 07, 2022                         KITTY(1)
Impressum