Post

Why I switched from Alacritty to Kitty

I have been using Alacritty for quite some time, but was finally forced to switch to Kitty

Why I switched from Alacritty to Kitty

Contents

YouTube video

If you like this, and want to support me

Follow me on Twitter

Why the switch?

  • Simple, image support
  • keep reading if you want to find out more

What is alacritty?

Why have I used Alacritty so far?

  • Here’s what I like about Alacritty:
    • Store config in a single file and can upload it to github
    • cross-platform, can use it on macOS and Linux, even on Windows (yikes)
    • Simple terminal emulator that has all I need, I don’t need it to have a tmux-like solution built-in, no tabs, no profiles, or anything else, just a terminal
      • I cannot live without tmux, but that doesn’t mean I want it baked into my terminal emulator, I’ll install it and configure it myself, if you want to know what tmux is and how I configure it watch my tmux video
      • Also, if you want to know how I navigate between tmux sessions using ThePrimeagen’s tmux-sessionizer script, I have a video for that as well

  • I go over why I switched from iTerm to Alacritty in this video
    • In that video I also go over how to configure Alacritty

What is kitty?

  • “The fast, feature-rich, GPU based terminal emulator” kitty website

It sounds you liked Alacritty so much, why the switch?

  • I’ve taken my notes as markdown files for quite some time now, I first fell in love with Obsidian, my wife (if you’re reading this post, you wouldn’t understand) heard me talk about it for months, but then, I was introduced to the new love of my life Neovim
  • Ever since I started using Neovim, I spend all my time in the terminal either editing markdown files, tweaking my neovim config, working on scripts, or editing any other type of file that comes across
  • But I kept going back to Obsidian to take and read my notes, and I hated that, even though I have keymaps configured to jump to each app, link to my karabiner-elements video here
    • And yes, Obsidian has vim key bindings and vimrc support, but it cannot compete with all the keymaps and keybindings I have configured in neovim, for example:
      • Keymap to jump between markdown headings
      • Quickly open the outline and navigate it with vim motions
      • Select some text and surround it with gsa"
      • And many, many more
  • But there was still 1 thing keeping me going back to Obsidian: Images
    • There you can easily paste and view images, which I could not in Neovim
    • Even though my markdown files are mainly text, there is a single reason why I sometimes need to add images: screenshots for university courses
      • That’s it, I don’t add any other images to my notes, unless strictly necessary
    • I’m now able to do that thanks to kitty
    • If you want to view and paste images in neovim, you can watch this other video I have

How do I install and configure Kitty?

  • I use macOS, but if you’re using Linux, steps should be similar
  • For this, you will need to have brew installed, if you don’t have it installed yet, watch my brew video
  • Once you have brew installed, let’s install kitty
1
2
3
4
5
6
7
8
9
10
11
12
# This installs the kitty terminal
brew install --cask kitty

# I am also installing the fonts I like to use currently with my kitty config
brew install --cask font-meslo-lg-nerd-font

# This also downloads the kitty themes and puts them in the directory where my
# config looks
mkdir -p ~/github/dotfiles-latest/kitty/themes/
git clone --depth 1 https://github.com/kovidgoyal/kitty-themes.git ~/github/dotfiles-latest/kitty/themes/
rm -rf ~/github/dotfiles-latest/kitty/themes/.git/
rm -rf ~/github/dotfiles-latest/kitty/themes/.github/
  • If you want to use my kitty settings, you can find my config file in my dotfiles
    • My kitty config file
    • Just copy the settings in my config file to your ~/.config/kitty/kitty.conf file with the commands below
1
2
3
4
5
# If the file already exists its fine, you can run this command
mkdir -p ~/.config/kitty

# Or in case you are one of those VS code or nano guys, edit the file there
vim ~/.config/kitty/kitty.conf

  • If you don’t know what dotfiles and want to learn more, you can watch my dotfiles video

Demo of the kitty configuration

  • I’ll show you the kitty settings I have configured in the video

Timeline

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
0:00 - Reason for switching
0:27 - What is Alacritty
0:51 - Why I used Alacritty
1:55 - RECOMENDATION tmux
2:32 - RECOMMENDATION tmux-sessionizer
2:45 - RECOMMENDATION from iTerm to Alacritty
2:55 - What is kitty
3:05 - Why switched ot kitty?
3:19 - RECOMMENDATION from Google Docs to Obsidian
4:24 - RECOMMENDATION karabiner-elements
4:34 - Contination why I switched to kitty
5:57 - RECOMMENDATION view paste images neovim
6:39 - Install kitty
6:57 - RECOMMENDATION install brew
7:56 - RECOMMENDATION dotfiles
8:06 - Go over kitty config
10:30 - Images in kitty
11:18 - outro
This post is licensed under CC BY 4.0 by the author.