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

TABS AND WINDOWS

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

OTHER KEYBOARD SHORTCUTS

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

SEE ALSO

343       See kitty.conf(5)
344

AUTHOR

346       Kovid Goyal
347
349       2021, Kovid Goyal
350
351
352
353
3540.20.3                           May 06, 2021                         KITTY(1)
Impressum