chore: rename clips 7377bdac
Steve · 2026-04-28 19:18 11 file(s) · +10 −10
packages/client/public/blog-images/files-stevedylan-dev/QmNkysZ5Roy723sphUST8abmHakKR86K2YHXeeVTU22ASH.png → packages/client/public/blog-images/files-stevedylan-dev/lsp-demo.png +0 −0

Binary file — no preview.

packages/client/public/blog-images/files-stevedylan-dev/QmPo8nXP8w9hJfxnhCpggrGKP89VbtiV1Rf3mFRHj9fUqA.mp4 → packages/client/public/blog-images/files-stevedylan-dev/assistant-panel.mp4 +0 −0

Binary file — no preview.

packages/client/public/blog-images/files-stevedylan-dev/QmQntcJQkJKoh2bmreRYun4BfDuLb8rXry6ZFmiVYPaeRx.mp4 → packages/client/public/blog-images/files-stevedylan-dev/tab-switcher.mp4 +0 −0

Binary file — no preview.

packages/client/public/blog-images/files-stevedylan-dev/QmTTGznMRr64oqJG7hXFiCrqrTqXiY3kaPuQnhWbCCSAaL.mp4 → packages/client/public/blog-images/files-stevedylan-dev/inline-assistant.mp4 +0 −0

Binary file — no preview.

packages/client/public/blog-images/files-stevedylan-dev/QmVEqwPxAoWgDwCLM3PrVxseLtLjCDK8LMxxz6DyD5fjxz.mp4 → packages/client/public/blog-images/files-stevedylan-dev/completions.mp4 +0 −0

Binary file — no preview.

packages/client/public/blog-images/files-stevedylan-dev/QmVtqSNc6Ff9Zy8vBxr92AcVdh9eAGYkU8zWGLoyTnoeDL.png → packages/client/public/blog-images/files-stevedylan-dev/zed-settings.png +0 −0

Binary file — no preview.

packages/client/public/blog-images/files-stevedylan-dev/QmXh5mDRJyQRSCfmHNeZ5DDwnzPr3uo5mqCMQN1mLzGh6T.mp4 → packages/client/public/blog-images/files-stevedylan-dev/switch-projects.mp4 +0 −0

Binary file — no preview.

packages/client/public/blog-images/files-stevedylan-dev/QmY2Cs7zBk7bEa7skNLBcA5dFnSmTS7CotFjftcMA2r3m1.mp4 → packages/client/public/blog-images/files-stevedylan-dev/project-search.mp4 +0 −0

Binary file — no preview.

packages/client/public/blog-images/files-stevedylan-dev/QmYGcEqane6cpVPJj9H7qjgYmV75GPhmy7hkKob6YPVscY.mp4 → packages/client/public/blog-images/files-stevedylan-dev/center-terminal.mp4 +0 −0

Binary file — no preview.

packages/client/public/blog-images/files-stevedylan-dev/Qmcqv6kXnHHVbX8RxWpK6coPZHyNcPU7bxPfZ2Zwbsm6bz.mp4 → packages/client/public/blog-images/files-stevedylan-dev/git-integrations.mp4 +0 −0

Binary file — no preview.

packages/client/src/content/post/leaving-neovim-for-zed.mdx +10 −10
33 33
34 34
One of the biggest things that has stood out to me using Zed so far is how “everything just works.” There are so many features of an IDE or text editor that people take for granted until they have to set it up themselves in something lower level like Neovim. LSP (language server protocol) is certainly one of them. If you’re not familiar it’s the hints or errors that show up while you’re writing up your code, giving you deep insights to your repo on a language level. When you setup LSP in Neovim it’s a lot of work, and sometimes it can be a bit harder to figure out why it might be bugging out. However it does give you way more control and the option to do a lot of customization. With Zed LSP just works. There are configurations you can make to edit some things, but as a whole it just zips out of the box. There are already keybindings for things like “show definition”, “go to definition”, or even code actions. The only downside is outside of an extension you can’t use your own LSP that’s installed on your machine, but there’s always a pretty large language support that I haven’t had this issue yet.
35 35
36 -
![LSP demo](/blog-images/files-stevedylan-dev/QmNkysZ5Roy723sphUST8abmHakKR86K2YHXeeVTU22ASH.png)
36 +
![LSP demo](/blog-images/files-stevedylan-dev/lsp-demo.png)
37 37
38 38
Another piece that’s related to LSP is completions. This is when you’re typing some code and get suggestions for auto completions that quickly fill the rest of the code out. LSPs usually have great auto-completion because they’re aware of the patterns used in that language. Just to be clear we’re not talking about Copilot yet, this is just completions for snippets and LSP. Once again with Zed it just works out of the box, unlike Neovim which ends up requiring several plugins to make it work right.
39 39
43 43
  loop
44 44
  playsinline
45 45
  className="aspect-video w-full"
46 -
  src="/blog-images/files-stevedylan-dev/QmVEqwPxAoWgDwCLM3PrVxseLtLjCDK8LMxxz6DyD5fjxz.mp4"
46 +
  src="/blog-images/files-stevedylan-dev/completions.mp4"
47 47
></video>
48 48
49 49
Finally there’s Git integrations. What normally required multiple plugins in Neovim is again ready out of the box with Zed, including feature like toggling Git Blame, viewing diffs, and gutter symbols showing the status of edited lines.
54 54
  loop
55 55
  playsinline
56 56
  className="aspect-video w-full"
57 -
  src="/blog-images/files-stevedylan-dev/Qmcqv6kXnHHVbX8RxWpK6coPZHyNcPU7bxPfZ2Zwbsm6bz.mp4"
57 +
  src="/blog-images/files-stevedylan-dev/git-integrations.mp4"
58 58
></video>
59 59
60 60
If I had to make a crude comparison, it’s similar to Linux and Apple. Linux will give you far more control over every piece of your software and hardware at the cost of spending time to configure it. Apple will give you less control but it will likely run smoother.
87 87
  loop
88 88
  playsinline
89 89
  className="aspect-video w-full"
90 -
  src="/blog-images/files-stevedylan-dev/QmPo8nXP8w9hJfxnhCpggrGKP89VbtiV1Rf3mFRHj9fUqA.mp4"
90 +
  src="/blog-images/files-stevedylan-dev/assistant-panel.mp4"
91 91
></video>
92 92
93 93
One feature that I think is particularly nice is the inline assistant, where you can select some lines of code and use `ctrl-enter` to trigger a request to be made to your code via the AI assistance configuration mentioned previously. If you like the results then you can confirm and keep coding.
98 98
  loop
99 99
  playsinline
100 100
  className="aspect-video w-full"
101 -
  src="/blog-images/files-stevedylan-dev/QmTTGznMRr64oqJG7hXFiCrqrTqXiY3kaPuQnhWbCCSAaL.mp4"
101 +
  src="/blog-images/files-stevedylan-dev/inline-assistant.mp4"
102 102
></video>
103 103
104 104
### Zed ≠ Neovim
184 184
}
185 185
```
186 186
187 -
![Zed settings](/blog-images/files-stevedylan-dev/QmVtqSNc6Ff9Zy8vBxr92AcVdh9eAGYkU8zWGLoyTnoeDL.png)
187 +
![Zed settings](/blog-images/files-stevedylan-dev/zed-settings.png)
188 188
189 189
### Plugin Replacements
190 190
205 205
  loop
206 206
  playsinline
207 207
  className="aspect-video w-full"
208 -
  src="/blog-images/files-stevedylan-dev/QmQntcJQkJKoh2bmreRYun4BfDuLb8rXry6ZFmiVYPaeRx.mp4"
208 +
  src="/blog-images/files-stevedylan-dev/tab-switcher.mp4"
209 209
></video>
210 210
211 211
Speaking of Telescope, one big replacement is project wide search. While Zed doesn't have a fuzzy find feature, the project wide search is excellent. It will show all results in a multibuffer view which is pretty slick, and allows you to jump between that view and the buffer itself pretty easily.
216 216
  loop
217 217
  playsinline
218 218
  className="aspect-video w-full"
219 -
  src="/blog-images/files-stevedylan-dev/QmY2Cs7zBk7bEa7skNLBcA5dFnSmTS7CotFjftcMA2r3m1.mp4"
219 +
  src="/blog-images/files-stevedylan-dev/project-search.mp4"
220 220
></video>
221 221
222 222
The terminal toggle is pretty similar to something like VSCode but there are some other hidden ways to get a better terminal experience. One of them is a shortcut to toggle the bottom terminal to be full screen, but even better is opening a terminal as a buffer in the main editing view.
236 236
  loop
237 237
  playsinline
238 238
  className="aspect-video w-full"
239 -
  src="/blog-images/files-stevedylan-dev/QmYGcEqane6cpVPJj9H7qjgYmV75GPhmy7hkKob6YPVscY.mp4"
239 +
  src="/blog-images/files-stevedylan-dev/center-terminal.mp4"
240 240
></video>
241 241
242 242
One of the big things I had to leave behind was Tmux and switching projects. While it isn't a perfect replacement, Zed has a "switch projects" feature which works really well and makes it pretty easy to switch contexts. You just won't get the exact same control and layout setup that you can get with Tmux
261 261
  loop
262 262
  playsinline
263 263
  className="aspect-video w-full"
264 -
  src="/blog-images/files-stevedylan-dev/QmXh5mDRJyQRSCfmHNeZ5DDwnzPr3uo5mqCMQN1mLzGh6T.mp4"
264 +
  src="/blog-images/files-stevedylan-dev/switch-projects.mp4"
265 265
></video>
266 266
267 267
## Should You Use Zed?