Kitty

Feb 16, 2025

Kitty is a terminal emulator with a bunch of features and is one of those gpu accelerated ones so its pretty fast.

I have tried many others but none where ever as good or worked as perfectly as Kitty.

Kitty has these programs that run inside kitty called kittens, they preform a lot of the functions and features that I love.

So in no particular order these are my most loved features / kittens...

Fonts

So unlike other terminal emulators, you do not need to used a patched font such as "nerdfonts", Kitty will patch the font for you. As long as its a monospaced font, you can tell kitty to use it with the following command:

kitten choose-fonts

kitty font selection

Config File Example

font_family      family='Fira Code' postscript_name=FiraCode-Regular
bold_font        auto
italic_font      auto
bold_italic_font auto
font_size 13.0

Built in Themes

Kitty has a huge selection of themes built right into the terminal and allows for easy previewing and selection of the themes via the following command:

Kitten theme

kitty theme selector

Images in your Terminal

Kitty can display images directly in your terminal without the need for any additional software or scripts, once again we do this with a kitten:

kitten icat 

kitten icat

SSH

Using the following kitten:

kitten ssh host-to-connect-to

Will allow you to do some awesome and very convenient things, firstly if you have a "~/.config/kitty/ssh.conf" file You can give it instructions to automatically copy over configs such as your vim configs and even some environmental variables.

I will admit I personally don't use it to copy over files as I have a specific vimrc just for servers, I instead use it for the next few features.

Adding the Following to an ls command:

ls --hyperlink=auto

Allows you to use your mouse to click the files and from there you can choose to save the file locally or edit it locally in your $EDITOR.

ssh

Cursor Control

This is the reason that I wont use Alacrity. In kitty the cursor and changing the cursor between the terminal and neovim just works. It will change back to what you have it set to when leaving programs. I am aware its kinda nit picky but when spending lots of time doing these tasks it can become annoying.

All the usual options for cursors are there such as block, beam, underline and thickness.

As I said this is only here as I am rather pernickety.

Tabs and Multiplexing

Personally I hardly use the multipexing myself but it can be useful when you need two terminals side by side, if that's something you need then kitty has it built right in. However if you want more features you may have to use something like tmux or zellij.

Tabs on the other hand I do use a lot. Initially I wasn't a fan of tabs in my terminal but when I currently have four tabs open just to write this article plus a further two windows for music and screen shots, things can become disorganised fast.

Multiplexing multiplxing

Tabs Tabs

In Conclusion

I love kitty for all these reasons and more. I'm still finding new features and reasons to love kitty even though I have called it home for over a year now. I think it may be my forever home.

Links

https://sw.kovidgoyal.net/kitty/