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

TABS AND WINDOWS

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

OTHER KEYBOARD SHORTCUTS

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

SEE ALSO

367       See kitty.conf(5)
368

AUTHOR

370       Kovid Goyal
371
373       2022, Kovid Goyal
374
375
376
377
3780.25.2                           Jun 07, 2022                         KITTY(1)
Impressum