Skip to content

Commit

Permalink
Quartz sync: Sep 4, 2024, 11:34 AM
Browse files Browse the repository at this point in the history
  • Loading branch information
ellie committed Sep 4, 2024
1 parent 8c2bf11 commit 092d8ec
Show file tree
Hide file tree
Showing 5 changed files with 123 additions and 8 deletions.
Empty file added content/Untitled.md
Empty file.
18 changes: 12 additions & 6 deletions content/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ date: 2023-09-01

My name is Ellie Huxtable. I'm a software/infrastructure engineer, and am at my happiest when I'm building <i>something cool</i>. I love an adventure, and if I'm not at a computer there's a good chance I'm riding a motorcycle.

Here I am trying to maintain a personal wiki, or a <i>second brain</i>. I've found that writing my learnings and thoughts down is immensely helpful.
Here you will find a mix of notes, longer/more thoughtful posts, and links to various things I've done

</div>

Expand All @@ -26,20 +26,26 @@ This site is constantly shifting, but here are some things you may be interested
- [Life](/life), where I'm writing about my travels, adventures, and life in general
- [Notes](/notes), where I write about things I'm working on and exploring. They're not supposed to be as high-quality as a post, but I'll be publishing them much more often.

## Speaking
I gave my first talk at [FOSDEM in 2023](https://www.youtube.com/watch?v=uyRmV19qJ2o), and am looking forward to giving more in the future!
## Speaking

- FOSDEM 2023, [magical shell history with Rust](https://www.youtube.com/watch?v=uyRmV19qJ2o)
- EMFCamp 2024, [keeping shell history in sync with turtles and magic](https://www.youtube.com/watch?v=FIswx57l6hw)

## Podcasts

- [Rustship #3](https://www.marcoieni.com/2023/09/%EF%B8%8F-atuin-shell-history-sync-search-and-backup-ellie-huxtable-rustship-3/)
- Changelog Interviews 579, [Making shell history magical with Atuin](https://changelog.com/podcast/579)

## Publicity
Some of my [projects](/projects) have been featured in print, in blogs, and in podcasts. This list is not exhaustive, please get in touch if I've missed something!
Some of my [projects](/projects) have been featured in print, and on various blogs/podcasts. This list is not exhaustive, please get in touch if I've missed something!

### Atuin
- [Linux Magazine, issue 265](https://www.linux-magazine.com/Issues/2022/265/Atuin)
- [LinuxUser 09/2022 (a German magazine)](https://www.linux-community.de/ausgaben/linuxuser/2022/09/die-befehlshistorie-ueber-mehrere-rechner-hinweg-im-blick-behalten/)
- [Changelog 53](https://changelog.com/news/53)
- [Changelog News 53](https://changelog.com/news/53)
- [an interview with console.dev](https://console.dev/interviews/atuin-ellie-huxtable)
- discussed on [LinuxMatters #10](https://linuxmatters.sh/10/)
- [a GitPod guide](https://www.gitpod.io/guides/persisted-terminal-history-atuin)
- [RustShip #3](https://www.marcoieni.com/2023/09/%EF%B8%8F-atuin-shell-history-sync-search-and-backup-ellie-huxtable-rustship-3/)

### iPod
- [Vice, with an interview](https://www.vice.com/en/article/qjbexd/a-software-engineer-upgraded-an-old-ipod-for-2022?ref=ellie.wtf)
Expand Down
9 changes: 9 additions & 0 deletions content/places.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

# Thailand
## Bangkok

| Name | Lat/lon | Gmaps | Note | Tags |
| ------------------ | ------- | ------------------------------------------------- | -------------------------------------------------------------------------------- | ------------- |
| PAGA Microroastery | | https://maps.app.goo.gl/X3CSQp3Q8tijEoPT6?g_st=ic | Fantastic filter coffee. Had a good selection of Geisha when I visited | #place/coffee |
| Casa Lampin | | https://maps.app.goo.gl/GBLteh1DwmDD5XT7A | Really good to work remotely in. Lots of space, nice tables. Wifi is good enough | #place/coffee |
| | | | | |
100 changes: 100 additions & 0 deletions content/posts/switching to zed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
title: My experience switching to Zed from NeoVim
date: 2024-04-16
description: Experimenting with Zed, a new text editor
---
I've been using Vim/NeoVim for the past decade, at least. I converted from Sublime Text after my workflow became more terminal-heavy.

In the years since, I've tried a great many editors - and always fell back to Vim. VSCode was cool, but the Vim emulation just wasn't quite right. I kept tripping up over myself, and the experience was very jarring. I also felt that the editor was a bit overcrowded - I'd like it to leave me alone to edit text, please!

I also tried emacs (well, evil), helix, and others.

But so far, Zed has been the closest to tempting me away. I tried it sometime last year, but it felt a little too unpolished - plus, at the time it was not [open source](https://zed.dev/blog/zed-is-now-open-source).

I started with [Atuin](https://atuin.sh), a Rust project. The tooling was all setup automatically, with no configuration needed on my part. Nice!

## Settings

Zed is pretty nice out of the box, but there were a few things I wanted to change.

Here's my entire config:

```json
{
"theme": "Gruvbox Dark Soft",
"vim_mode": true,
"buffer_font_size": 12,
"ui_font_size": 14,
"buffer_font_family": "FiraCode Nerd Font",
"relative_line_numbers": true,
"terminal": {
"line_height": "standard"
},
"lsp": {
// Specify the LSP name as a key here.
"rust-analyzer": {
//These initialization options are merged into Zed's defaults
"initialization_options": {
"checkOnSave": {
"command": "clippy"
}
}
}
}
}

```

Other than the obvious theme/font settings, I found the terminal line height a little weird out of the box. It seemed to be a bit higher than it should be, which made some TUIs look odd. Setting it to "standard" resolved this.

I also made some adjustments to the lsp config for Rust.
## Key bindings

The next changes I made were to the Vim bindings. They're pretty standard out of the box, but I have a few core customisations that I really need in order to be productive.

- `jj` - I remap jj -> esc, to keep my fingers on the home row
- `<leader>w` - to save the current buffer
- `<leader>s t` - grep the entire workspace
- `<leader>f` - search for files

As far as I am aware, Zed does not have the concept of a leader. That's ok! I can hardcode the bindings.

Here's what I have:

```json
[
{
"context": "Editor && vim_mode == insert && !menu",
"bindings": {
"j j": "vim::NormalBefore"
}
},
{
"context": "Editor && vim_mode == normal && !menu",
"bindings": {
"space w": "workspace::Save",
"space s t": "workspace::NewSearch",
"space f": "file_finder::Toggle"
}
}
]

```

I thought it was pretty cool how the keymap allows me to specify a context as an expression. It's far easier to read than something like `inoremap`.

You can find other actions in the default keybindings (cmd-shift-p, search default keybindings)

## Editing experience

I've found Zed to be very pleasing to use. Everything is buttery smooth, and you can really feel that they've put [lots of work into performance](https://zed.dev/blog/120fps). The UI is minimal, and it does remind me a bit of Sublime.

Their [UI framework](https://www.gpui.rs/) is written in Rust, and hopefully we will see more applications using it soon!

## Will it stick?

Not yet. But it was close! I've used it for longer than any other editor I've tried, but I still feel strange using an editor with a terminal in it - rather than a terminal with an editor. That is absolutely a me problem though, and nothing to do with Zed.

Otherwise there's still a couple of gaps with the vim emulation. I use [marks](https://vim.fandom.com/wiki/Using_marks) pretty heavily, and they aren't there yet - which is something I kept tripped over. From time to time, my jj binding didn't seem to trigger - perhaps I've pressed it too fast. I couldn't easily replicate this though, it just happened from time to time.

I think I'll keep checking in with Zed, and perhaps it will fully convert me soon.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 092d8ec

Please sign in to comment.