terminal preferences as of late

for the last decade or so, i’ve stopped using customized terminals and vim becauase it just became too much work to keep up with. i joked that it was a “young man’s sport” as it was something i was really into in my teens and 20s.

now that i’m a little older, and had to bounce around between servers, computers, etc. for work, i found that i just liked using the defaults. it forced me to learn them and then i was getting more proficient in any random environment that had plain tmux, vim, and bash.

but lately, there’s been a few projects that are really nice and basically zero-config which i love.

first are two terminals i really like, ghostty and warp. ghostty is definitely my daily driver now, but warp has a lot of nice features. ghostty is open source and because of that alone, that’s why i use it all the time. it has a zero-config philosophy and everything works beautifully out of the box. so, when i use things like lazyvim, all the icons and everything works, and i love that.

warp is just super nice, but i am so weirded out by it being a closed source company creating a terminal. that seems… just weird. so they have thigns like paid plans and AI (because you can’t get funding as a company if you don’t shove AI in your product, i guess). but the way they format output and also handle the prompt themselves is really cool.

i mentioned lazyvim, but it’s really great and easy to install. i am using it for my IDE now.

p.s. even though ghostty is zero-config, there is a little bit of config i’ve added to modify the theme and this is what i use on macos:

> cat ~/Library/Application\ Support/com.mitchellh.ghostty/config
macos-titlebar-style = tabs
theme = light:nord-light,dark:nord``

and then i am also using a couple options in my lazyvim configs. the first is toggleterm which is nifty. i have this in ~/.config/nvim/lua/plugins/toggleterm.lua:

return {
  {
    "akinsho/toggleterm.nvim",
    config = true,
    cmd = "ToggleTerm",
    build = ":ToggleTerm",
    keys = { { "<C-`>", "<cmd>ToggleTerm<cr>", desc = "Toggle Terminal" } },
    opts = {
      open_mapping = [[<C-`>]],
      direction = "float",
      shade_filetypes = {},
      hide_numbers = true,
      insert_mappings = true,
      terminal_mappings = true,
      start_in_insert = true,
      close_on_exit = true,
    },
  },
}

and then i have the equivalent of set tw=72 in ~/.config/nvim/lua/config/options.lua

vim.opt.tw = 72

and then i just install a handful of things from :LazyExtras. everything else is mostly stock then… 🤡