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 sh -c "echo hello, world. Press ENTER to quit; read"
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 window title. This will override any title  set  by  the
28              program  running  inside kitty. So only use this if you are run‐
29              ning a program that does not set titles. If combined with  kitty
30              --session  the title will be used for all windows created by the
31              session, that do not set their own titles.
32
33       --config <CONFIG>, -c <CONFIG>
34              Specify a path to the configuration file(s) to use. All configu‐
35              ration  files are merged onto the builtin kitty.conf, overriding
36              the builtin values. This option can be specified multiple  times
37              to  read  multiple  configuration  files  in sequence, which are
38              merged. Use the special value NONE to not load a config file.
39
40              If this option is not specified, config files are  searched  for
41              in   the   order:   $XDG_CONFIG_HOME/kitty/kitty.conf,   ~/.con‐
42              fig/kitty/kitty.conf,   $XDG_CONFIG_DIRS/kitty/kitty.conf.   The
43              first one that exists is used as the config file.
44
45              If the environment variable KITTY_CONFIG_DIRECTORY is specified,
46              that directory is always used and the above searching  does  not
47              happen.
48
49              If  /etc/xdg/kitty/kitty.conf  exists  it is merged before (i.e.
50              with lower priority) than any user config files. It can be  used
51              to specify system-wide defaults for all users.
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       --watcher <WATCHER>, -w <WATCHER>
71              Path to a python file. Appropriately  named  functions  in  this
72              file  will be called for various events, such as when the window
73              is resized, focused or closed. See the section  on  watchers  in
74              the  launch command documentation launch. Relative paths are re‐
75              solved relative to the kitty config directory.  Note  that  this
76              watcher will be added only to all initially created windows, not
77              new windows created after startup.
78
79       --hold Remain open after child process exits. Note that this  only  af‐
80              fects  the  first window. You can quit by either using the close
81              window shortcut or pressing any key.
82
83       --single-instance, -1
84              If specified only a single instance of kitty will run. New invo‐
85              cations will instead create a new top-level window in the exist‐
86              ing kitty instance. This allows kitty to share a  single  sprite
87              cache  on  the  GPU  and also reduces startup time. You can also
88              have separate groups of kitty instances by using the kitty --in‐
89              stance-group option
90
91       --instance-group <INSTANCE_GROUP>
92              Used in combination with the kitty --single-instance option. All
93              kitty invocations with the same kitty --instance-group will  re‐
94              sult  in  new  windows being created in the first kitty instance
95              within that group
96
97       --wait-for-single-instance-window-close
98              Normally, when using --single-instance, kitty will  open  a  new
99              window  in  an existing instance and quit immediately. With this
100              option, it will not quit till the newly opened window is closed.
101              Note that if no previous instance is found, then kitty will wait
102              anyway, regardless of this option.
103
104       --listen-on <LISTEN_ON>
105              Tell kitty to listen on the specified address for  control  mes‐
106              sages. For example, kitty --listen-on=unix:/tmp/mykitty or kitty
107              --listen-on=tcp:localhost:12345. On Linux systems, you can  also
108              use  abstract  UNIX  sockets,  not  associated with a file, like
109              this: kitty --listen-on=unix:@mykitty. Environment variables  in
110              the  setting  are  expanded and relative paths are resolved with
111              respect to the temporary directory. To control  kitty,  you  can
112              send  it  commands with kitty @ using the kitty @ --to option to
113              specify this address. This option will be  ignored,  unless  you
114              set  allow_remote_control to yes in kitty.conf. Note that if you
115              run kitty @ within a kitty window, there is no need  to  specify
116              the  --to  option  as it is read automatically from the environ‐
117              ment.  For  UNIX  sockets,  this  can  also  be   specified   in
118              kitty.conf.
119
120       --start-as <START_AS>
121              Control  how the initial kitty window is created.  Default: nor‐
122              mal Choices: fullscreen, maximized, minimized, normal
123
124   Debugging options
125       --version, -v
126              The current kitty version
127
128       --dump-commands
129              Output commands received from child process to stdout
130
131       --replay-commands <REPLAY_COMMANDS>
132              Replay previously dumped commands. Specify the path  to  a  dump
133              file  previously  created by --dump-commands. You can open a new
134              kitty window to replay the commands with:
135
136                 kitty sh -c "kitty --replay-commands /path/to/dump/file; read"
137
138       --dump-bytes <DUMP_BYTES>
139              Path to file in which to store the raw bytes received  from  the
140              child process
141
142       --debug-gl, --debug-rendering
143              Debug  rendering  commands.  This will cause all OpenGL calls to
144              check for errors instead of ignoring them. Also prints out  mis‐
145              cellaneous  debug  information.  Useful when debugging rendering
146              problems
147
148       --debug-input, --debug-keyboard
149              This option will cause kitty to print out key and  mouse  events
150              as they are received
151
152       --debug-font-fallback
153              Print  out information about the selection of fallback fonts for
154              characters not present in the main font.
155

TABS AND WINDOWS

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

OTHER KEYBOARD SHORTCUTS

286              ┌───────────────────────────┬────────────────────────────┐
287              │Action                     │ Shortcut                   │
288              ├───────────────────────────┼────────────────────────────┤
289              │Copy to clipboard          │ ctrl+shift+c  (also ⌘+c on │
290              │                           │ macOS)                     │
291              ├───────────────────────────┼────────────────────────────┤
292              │Paste from clipboard       │ ctrl+shift+v (also ⌘+v  on │
293              │                           │ macOS)                     │
294              ├───────────────────────────┼────────────────────────────┤
295              │Paste from selection       │ ctrl+shift+s               
296              ├───────────────────────────┼────────────────────────────┤
297              │Increase font size         │ ctrl+shift+equal (also ⌘++ 
298              │                           │ on macOS)                  │
299              ├───────────────────────────┼────────────────────────────┤
300              │Decrease font size         │ ctrl+shift+minus (also ⌘+- 
301              │                           │ on macOS)                  │
302              ├───────────────────────────┼────────────────────────────┤
303              │Restore font size          │ ctrl+shift+backspace (also │
304              │                           │ ⌘+0 on macOS)              │
305              ├───────────────────────────┼────────────────────────────┤
306              │Toggle fullscreen          │ ctrl+shift+f11 (also ^+⌘+f 
307              │                           │ on macOS)                  │
308              ├───────────────────────────┼────────────────────────────┤
309              │Toggle maximized           │ ctrl+shift+f10             
310              ├───────────────────────────┼────────────────────────────┤
311              │Input unicode character    │ ctrl+shift+u         (also │
312              │                           │ ^+⌘+space on macOS)        │
313              ├───────────────────────────┼────────────────────────────┤
314              │Click URL using  the  key‐ │ ctrl+shift+e               
315              │board                      │                            │
316              ├───────────────────────────┼────────────────────────────┤
317              │Reset the terminal         │ ctrl+shift+delete          
318              ├───────────────────────────┼────────────────────────────┤
319              │Reload kitty.conf          ctrl+shift+f5 (also ^+⌘+f5 
320              │                           │ on macOS)                  │
321              ├───────────────────────────┼────────────────────────────┤
322              │Debug kitty.conf           ctrl+shift+f6 (also  ⌘+op‐ 
323              │                           │ tion+f6 on macOS)          │
324              ├───────────────────────────┼────────────────────────────┤
325              │Pass  current selection to │ ctrl+shift+o               
326              │program                    │                            │
327              ├───────────────────────────┼────────────────────────────┤
328              │Edit kitty config file     │ ctrl+shift+f2              
329              ├───────────────────────────┼────────────────────────────┤
330              │Open a kitty shell         │ ctrl+shift+escape          
331              ├───────────────────────────┼────────────────────────────┤
332              │Increase background  opac‐ │ ctrl+shift+a>m             
333              │ity                        │                            │
334              └───────────────────────────┴────────────────────────────┘
335
336              │Decrease  background opac‐ │ ctrl+shift+a>l             
337              │ity                        │                            │
338              ├───────────────────────────┼────────────────────────────┤
339              │Full background opacity    │ ctrl+shift+a>1             
340              ├───────────────────────────┼────────────────────────────┤
341              │Reset background opacity   │ ctrl+shift+a>d             
342              └───────────────────────────┴────────────────────────────┘
343

SEE ALSO

345       See kitty.conf(5)
346

AUTHOR

348       Kovid Goyal
349
351       2021, Kovid Goyal
352
353
354
355
3560.21.2                           Jul 22, 2021                         KITTY(1)
Impressum