Zed on Linux Is Here
zed.dev
zed.dev
The thing is, I would just disable it, but you can't, as far as I can tell. There's this somewhat angry issue about it here:
https://github.com/zed-industries/zed/issues/12589
They might have a point but beyond whether or not they have a point regarding the fact that it automatically fetches binaries from the Internet, not having an option to disable it is just cruel.
I still like Zed a lot and I also have a big appreciation for the design of GPUI, which I think is a very well-designed UI library that puts focus on the important things. So, I hope it goes well.
The eagerness to download stuff without my consent at the moment precludes me from using this e.g. in a job that touches a sensitive proprietary codebase.
I highly recommend Little Snitch or opensnitch to protect oneself from rogue developers. Yes, anybody downloading things or uploading things without my consent is a rogue.
Doesn't it work with:
zed-fhs = pkgs.buildFHSUserEnv {
name = "zed";
targetPkgs = pkgs:
with pkgs; [
zed-editor
];
runScript = "zed";
};
Still not ideal though.NixOS is listed here: https://zed.dev/docs/linux
For me, works as expected.
For example, if you make some changes in a file (new or not), don't save the changes, close and open the editor, the state of the opened files are kept like I never had closed the editor. The unsaved files are still unsaved. New edited files are still there, unsaved, ready to user manually save them.
Notepad++ works that way, and it is an amazing feature.
I love the VS Code implementation (haven't reviewed the other two). If I'm pairing with someone remotely, I don't have any issue having them download VS Code. We provide a config in our project repo for VS Code, so it's really quick for people to get set up enough to join the real-time collab session with me. `brew install visual-studio-code` and then `code .` in our repo, plus OAuth with Github to authenticate the collaboration feature.
I think it really is great. Makes pairing much easier, and really speeds up drugery like refactoring 500 cases where it doesn't quite make sense to do a codemod. It's not quite like the upgrade from Word97.exe to Google Docs since we have git, but it feels similarly amazing to "just" to be talking about some code, click the other user's icon to jump right to their cursor and help them get unstuck.
I personally bounce between VS Code, Xcode, and nvim+tmux, and I don't have a problem with keeping a "lowest common denominator" editor around for collaboration or pairing. I also keep a regular keyboard at my desk so I don't force people to type on my Glove80/Kinesis Advantage.
And for those with installed VSCode they need to add the Live Share extension to get this functionality, it’s not built in from the start, but offered through that official extension? https://marketplace.visualstudio.com/items?itemName=MS-vsliv...
The main reason I'm excited for zed is for an editor that built this in from the beginnings and has the same feature with less bugs.
I have no reason to use Zed over Kakoune or VS Code for working on my own (open-source VS Code, so no Liveshare).
I wanted to work on code with someone a few weeks ago, and we both downloaded Zed and started collaborating very quickly. It was a very smooth experience.
EDIT:
Holy sh*t, they actually have bindings for each OS and built a Rust abstraction on top of that. That's pretty wild
https://github.com/zed-industries/zed/blob/main/crates/gpui/...
I grew up developing Windows apps using the native Win32 API:s, and there was nothing particularly daunting about it. Using what the OS provides shouldn't be considered such an outlandish idea, and being scared of it is causing stagnation and waste (looking at you, Electron). The code here is only a couple of thousand lines per platform; surely only a small fraction of the entire code base.
I've looked into native Linux development a few times, for example, and haven't even been sure what's the best toolkit to use. It feels like you'd have to invest quite a lot in a particular toolkit to even see if it can do what you need, coming fresh from web dev like a lot of people who go for Electron obviously are (myself included).
We’ve slowly been building out gpui to be super ergonomic and fluid for us to build the kind of UI we need to.
As a designer that just picked up Rust last February it’s been really nice to have something that is so comfortable to work with without compromising our performance goals.
Let us know if so - they should just work™, but would love to know if that is not the case.
I find that out-of-the-box Zed is much prettier and feels more native than VS Code. But for a tool that we spend hours using each day, how it looks and makes you feel really matters.
I am enjoying experimenting with Zed. I have kept my extensions and configuration to a minimum which is a refreshing change compared to the cluster that my VSCode installation has become.
"workbench.activityBar.location": "top",
Just in case might as well try these.. "editor.fontFamily": "'Monaspace Neon', monospace",
"editor.fontLigatures": "'calt'",
"workbench.iconTheme": "vs-minimal",
"workbench.colorTheme": "GitHub Light",
"window.commandCenter": false,
"window.customTitleBarVisibility": "auto",
"window.titleBarStyle": "custom",Thank god I'm not alone. Besides being unsightly, it also looks like a toy.
And it's quite annoying that I really don't think that the product I'm actually using is something crazy complicated only an for-profit enterprise can implement. Just the same as in my vim-years, I only need a good editor, that helps me to type less. In interpreted languages (Python, PHP) I don't even use debugger, debugging via print actually feels totally fine to me. What I need seems pretty similar, and is seemingly included into every modern editor I know: vim-keybindings, good "code smell" highlightings, autocomplete & some refactoring automation. The devil is in the details though. Vim emulation is never perfect, but in IntelliJ it's usable, which doesn't happen often. Static-analysis IntelliJ does seems pretty basic to me, yet somehow even that level is usually lacking (also, the ability to disable specific suggestion via annotations in IntelliJ products is great, as I feel like this functionality is only really useful when I strive for 100% "green" status, just conciously disabling what I'm not going to fix). But the most annoying thing is auto-refactoring. I mean, it feels like a simple thing, I never tried, but I think most common refactoring patterns I do daily I could automate quite easily, given I already have basic syntax-tree operation implemented. But somehow even IntelliJ is pretty poor on refactorings, and what I've seen in VSCode plugins is even worse. Again, no idea about Zed. I guess I should try it.
1. VSCode is pretty damn fast to be honest. Very rarely is my slowdown in my work VSCode loading. Maybe I don't open very large files? Probably 5k lines of typescript at most.
2. Integration with the Typescript language server was just not as good as VSCode. I can't pin down exactly what was wrong but the autocompletions in particular felt much worse. I've never worked on a language server or editor so I don't know what's on zed/VSCode and what's on the TS language server.
Eventually all the little inconveniences wore on me and I switched back to VSCode.
I will probably try it again after a few more releases to see if it feels better.
VSCode is very fast for me, when I open it in the morning and just starting my day.
But once I've opened the main project and 7 support library's projects, and I'm in a video-call on Chrome sharing my screen (which is something that eats CPU for breakfast), and I'm live-debugging a difficult to reproduce scenario while changing code on the fly, then the test conditions are really set up where differences between slow/heavy and fast/lightweight software can be noticed.
Things like slowness in syntax highlighting, or jankyness when opening different files. Not to mention what happened when I wanted to show the step-by-step debugging of the software to my colleagues.
In summary: our modern computer's sheer power are camouflaging poor software performance. The difference between using native and Electron apps, is a huge reduction in the upper limit of how many things you can do at the same time in your machine, or having a lower ceiling on how many heavy-load work tasks your system can be doing before it breaks.
I keep trying different editors (including VS Code), and I always end up going back to Neovim because everything else just feels sluggish, to the point where it annoys me so much I'm willing to put up with all the configuration burden of Neovim because of it.
I tried out Zed and it actually feels fast enough for me to consider switching.
Microsoft's latest embrace-extend-extinguish strategy is keeping just enough special sauce in (frequently closed-source) vscode extensions and out of the language servers. They do the same thing with Pyright/Pylance.
VSCode may appear fast, but still has massive latency. The Zed website claims 97ms.
I can feel it is laggy.
Why can't we have response time under 1ms? Even 5ms would be a massive improvement.
For me latency is a massive productivity killer as it feels like walking in a swamp and it always puts me off.
VSCode cheats a little in this area. It has its own autocomplete engine that can be guided by extension config, which it mixes seamlessly into the autocomplete coming back from the LSP. The net result is better autocomplete in all languages, that can’t be easily replicated in other editors, because the VSCode augmentations can often be better than what an LSP produces.
VSCode loaded it nearly immediately and didn't hang when moving around the file. I have my complaints about VSCode, but speed definitely isn't one of them.
Interestingly the biggest issues we're having with VSCode have nothing to do with the IDE itself and are instead related to the TypeScript language server. There are so many bugs that require the TypeScript language server to be restarted, and there's little the VSCode team can do about that. Made a new file? Restart. Rename a file? Restart. Delete a directory? Restart. Refactor a couple of classes? Might need a restart.
We're also having some serious language server slowdowns because of some packages we're using. And there's not much Zed can do here for us either. It's really unfortunate because the convenience of having a full-stack TypeScript application is brought down by all of these inconveniences. Makes me miss Go's language server.
There were a bunch of decisions that felt strange, although I can imagine getting used to them eventually. For example, ctrl-click (or jump to usages) on a definition that is used in multiple places opens up a new tab with a list of the results. In most other editors I've used, it's instead opened up a popover menu where I can quickly select which really I want to jump to. Opening those results in a new tab (and having that tab remain open after navigating to a result) feels like it clutters up my tabs with no benefit over a simple popover.
Like you, I'll probably try again in a few releases' time, but right now the editor has so much friction that I'm not sure I actually save any time from the speed side of things.
I had similar experience with JavaScript where it kept showing me errors (usually for ESM imports) even though things were fine. In VSCode, things worked without fuss. I've been testing out JetBrains Fleet [1] as well and its language support is far superior compared to Zed.
For nearly anything I do it is fast enough, it starts in less than 2 seconds, and the main thing I like about VSCode is ability to switch projects with fuzzy autocomplete. That means I can jump between repos also in a few seconds, which is a huge lifesaver given I switch things frequently.
Slack & Teams on the other hand, ouch.
My general rule is if I can get at most of what I need from the open source version of something, I use it. Even if it's less user friendly.
> curl https://zed.dev/install.sh | sh
Please stop telling people to curl pipe scripts into their shell...
This is basically the Linux equivalent of download and double click which is a user flow that is underrated for simplicity and usability.
The Linux equivalent to double-click installer is ... a double-click installer, Flatpak. Or for even more bonus points, make the app fully portable as an AppImage. In the rare case I can't find what I'm looking for in my distribution repos, I look for an AppImage.
Just release a flatpak, even a snap.
I’m not asking to support all distros. But at least one between flatpak and snap is enough to support pretty much all distros out there in a clean manner, not with curl | sh
In this case it's 150 rows with spaces and comments and the first one is
# Downloads the latest tarball from https://zed.dev/releases and unpacks it # into ~/.local/. If you'd prefer to do this manually, instructions are at # https://zed.dev/docs/linux.
Then it's a download, extract and copy stuff around, it takes 1 minute to visually parse
If an install script is obfuscated then yeah, I'd skip it too.
[1] Standard “GNU”/linux desktops
Also, cleaner uninstalls. If the software only has access to specific directories, I can be reasonably optimistic that removal will be clean.
Furthermore, it is much more convenient. E.g., I can just winget install vscode instead of having to google download links.
Can Linux have something like the Mac App Store where apps don't have access to the whole system by default?
What's the threat model here, that Rust is a trojan language from the feds?
Maybe I'm doing something wrong, I got java/maven plugins but there is no XML highlighting. Java does have highlighting but that's it... OH, and and I installed it this time and I noticed "downloading json-language-server"... (it was there before probably but didn't notice)... like WTF - didn't even ask if I want to... utterly rubbish experience.
For a simple text editor I prefer BBedit on mac, which is native and blazing fast. And for something slightly more complex I usually end up with `code <file>` to quickly edit it...
What's the business model here?
We envision Zed as a free-to-use editor, supplemented by subscription-based, optional network features, such as:
Channels and calls Chat Channel notes We plan to allow offer our collaboration features to open source teams, free of charge.
Great feature but there's a lot more stuff I need for a truly outstanding editor, what are the novel pieces?
The bar is ridiculously for editors (vim & emacs configurability, vscode just works, jetbrains can do it all) - what will/does it bring to the table to compete?
I also use it to open folders with source code and markdown documents without having to boot up an intellij editor
I can see the appeal, as the demo looks really smooth; then again, I'm a terrible slow developer, so personally I find saving few ms here and there irrelevant to my daily workflow
Zed is made by people who used Vim themselves.
I was watching thorsten and the primeagen's chat yesterday https://www.youtube.com/watch?v=8XweSqTYdMQ and thorsten was describing a few challenges with translating vim's functionality into zed.
Part of it being that zed doesn't have an intermediate layer between keyboard input and keybindings, so by the time the vim layer is hit it has been translated to a keybindings - that limitation kind of put me off.
Whoever thought that was a great idea obviously has never worked with version control, with other people on a project? Sorry, but this is such an obviously wrong default setting, I'm surprised nobody pointed this out before?
I think it is a sane default in 2024.
Or there's a "save without format" command that I used once (when working on a pywal template for a zed theme, that is not valid json but Zed really wanted to format it)
everyone on your team should be using a auto-formatter
https://zed.dev/blog/videogame
Many UI libraries being built today want to be very forward-focused, so they focus on being as general as possible. This does make some sense, especially considering that, for better or worse, using a web browser engine as a UI has become increasingly popular of a decision. However, in the end this leads to almost all new "greenfield" UI projects trying to develop scalable vector UI rendering engines that need advanced and highly optimized vector rendering libraries like Skia and Pathfinder. Having everything in vector all the way through is elegant, but it's complicated.
The insight with GPUI is that it's not really necessary to be that general, the vast majority of UIs are made up of a relatively small number of different primitives that you can build on to basically do anything. So instead the vast majority of what's going on in GPUI is layers of roundrects. Text rendering is the classic approach of rendering into glyph atlases. I think this is a vastly more sustainable model for a UI library.
I don't know if GPUI is ready to be used on its own, but it does have a spiffy if brief website.
Given that Zed actually has good "UI-feel", it tells me they are focused on the right things. A lot of new greenfield UI frameworks are spending a ton of time on trying to build extremely generic vector graphics systems but the actual widgets feel bad and are missing all kinds of tweaks and nuance. Here's a good litmus test for text editors: what happens if you double click and drag? In most good UI frameworks, this should result in word selection and then expanding that selection left or right. In a lot of smaller greenfield UI libraries, something vastly less useful will happen :(
Some of these things will likely be made more general and have dedicated gpui elements built for them (button, input…)
I think not rushing to cover everything right out the gates is giving us the time to feel out apis that feel good to write and work well for us. Hopefully in the near future that translates to a UI library that is awesome for the whole rust community to use.
I had a small project coming up and decided to try out Zed. As it's a native app I thought it would perform better than VSCode. But to my surprise it was not the case. The performance was actually worse.
And as for the TS integration, the overall experience is worse than on VSCode. The autocompletion works in a weird way, no way to just look at available methods, I have to start typing. It's just frustrating. I even decided to give another go to Sublime Text and it felt much better than Zed.
So Zed didn't work for me, but I'm sure it will work for somebody else.
For those who have used it, what are some of the killer features?
- fast enough to compete with neovim. Idk if it’s my previous interest in display engineering, but I substantially notice the speed
- vim bindings…. Satisfactory. I don’t struggle to navigate at all, feels pretty native to me. I can split panes every which way till Sunday
- collaboration mode is pretty great
- Ability to have your current pane magnified
- Ability to set your terminal font size to a different font size than your editor (been looking for this for years in a terminal emulator)
- Super clean and crisp ui. TBH it was too much ui when I first tried it, I stopped using it almost immediately. But I have it a second try and got used to it. It’s still a lot more than vim but hey
- Outline mode (pretty sweet)
- Multi-file buffers (makes editing text across multiple files stupidly easy)
- Cracked team. Awesome people, super transparent, just some sick engineers doing sick engineering
It's also collaboration-first, and unlike VS code, I believe the software behind collaboration mode is open source
I'm really pleased for the Zed team on reaching this milestone. I think the only thing holding me back from it being my daily driver is the built-in Pyright (which I hate) and lack of Ruff support.
thread 'main' panicked at crates/gpui/src/platform/linux/wayland/client.rs:143:51:
called `Result::unwrap()` on an `Err` value: UnsupportedVersion
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Of course, zed has always felt like an osx first project with linux/windows being second class citizen.
https://zed.dev/docs/linux#troubleshooting
If that doesn't work for you, please file an issue, and let us know whether you're using Wayland or X11 :)
But I don't get the utility of all the collaboration features. It's noise to me, and feels like they could have invested that energy in other areas.
I work in a small fully remote team, and our tool of choice for collaboration is git. Why would I want to edit the same file while someone else is editing it too? Who will commit it? If I want to discuss a part of the code with someone screen sharing works perfectly. There's no need to bring in simultaneous editing.
It's such a technically hard feature to develop but just doesn't seem to have any utility for me.
First, Zed found to allow silent (non-consented) background binary downloads [0]
Now, launching on Linux.
Both of which are big news in its own right.
That's new. Does everyone running Linux have a dedicated GPU these days? Only caught this because I'm in the middle of updating my nvidia driver.
To keep things simple yet powerful is the key to find their place in the market IMO. Don't know about the rendering speed (never had issues with other editor), but that's a bonus anyway.
Sidebar contrast is too low, yet, spot on for the wrong contrast ratio target (3.0, for fill, versus 4.5 for text/bg).
I'll file an issue on GitHub eventually, feel free to pass along email in my profile if y'all see this and have someone who is already nerding out on this stuff.
Context on why, and before I get more fuzzy/opinionated, why I'm comfortable speaking to this is some quasi-authoritative tone: I built a new color system that ended up being launched as Material You at Google, at its heart is getting contrast while having expressive colors instead of just flat black/white, so I really appreciate the effort here.
Fuzzy/opinionated territory:
Problem with the low contrast here isn't just that it doesn't literally hit a 4.5 ratio. IMHO this isn't strictly verboten, if I thought that it would mean the engineer part of my brain was too in control. There's an argument to be made its good the sidebar isn't distracted. Problem is disabled states traditionally lower the foreground brightness, so it crosses over into "disabled element" territory when you visually parse it.
To the Zed folks here, can you please add a little line to say that it is an editor, for people like me who are not in the loop. There's nothing clear on the landing page or on the docs page that indicates it is so. The video shows an editor, but plenty of software has built in editors.
I found the zed website unhelpful, but if wikipedia is to be believed, it's a successor to the Atom text editor
Zed is co-founded by one (or more?) original developer of Atom. So, it's a successor in a sense that it is a new project by the same author.
Atom was developed at GitHub, and GitHub Inc remains the owner of the original Atom project. From their perspective the successor of Atom is VSCode - developed by their parent company, - despite the claims by a former Atom engineer.
Cons:
- spawning nodejs whenever you edit JSON files seems overkill, i'd prefer they use something native and more lightweight, or a way to completely disable it
- text still looks a bit blurry on low DPI screens
- doesn't support LSP properly, completion items are missing some data
- Rust for plugins.. this is painful, compare it to Sublime Text's python API, it's night and day..
Pros:
- Fast and responsive
- UI is simple yet effective
- drag&drop layouting, something i wish Sublime Text had..
- built-in terminal
- built-in Debugger (not yet ready)
Few more months of developments, and i'll certainly switch from Sublime Text, i'll be a little sad because i wrote plenty of plugins for it
I however worry about their business model, i have 0 interests in their AI/collaboration stuff, i'll probably maintain a fork to get rid of all that crap, they should setup something as a back up plan, a small paid license, just for support, i'll be happy to buy one
Yes, this is unfortunate as they've unsuitably chosen the barely usable & unstable "component model" for their Wasm plugin layer. It's really only half-decent in Rust (to write the code & compile to CM non-standard version of wasm binary. it's also only truthfully usable to call components _from_ rust too.)
I think they are banking on the eventual support for cross-language async - which likely could never come, or could take longer than the company stays solvent!
For me, this is a showstopper. I don't want to use a text editor that even has a business model.
I have a fast editor in Sublime already, but I’d consider jumping ship from VS Code to Zed if I can set some breakpoints and look at local variables and whatnot (very basic IDE stuff).
Heck I'd like to "solve" all issues with public restrooms in the US, for example, or the lack of planning for trees or shade or water conservation, first, before I'd spend time on Yet Another Hip New Text Editor. The latter is perhaps several hundred slot ranks down (at most generous to it) in my priority list.
Will definitely try one this out!
Although the amount of plugins and community knowledge of vscode is immense.
And their opensource development mode is the best one I've seen so far! So many nice choices.
And make that the thing you charge for. ¯\_(ಠ_ಠ)_/¯
And yeah, I get it, boo hoo, electron, blah blah. There’s always going to be the rev head at all costs crowd. I don’t think that appealing to them should be this prominent through. The value proposition just isn’t there.
I sure as hell can't. SSH + Tmux has consistently been the only good pair-programming solution I've used in the past decade.
Now, me personally (and this is just one man's tiny and insignificant opinion in a sea of billions of people!),
I personally, am slightly more inclined to give a slight bit of additional weight to the opinions of people closer to the vim/vi side of editor use, than I am to give to people on the Electron-based side...
My humble apologies if this offends anyone.
You don't see that kind of behaviour from Microsoft and Apple.
The default font was a bit small on a 4K resolution by default, but it was easy discover how to enlarge it.
Opening a Rust project worked flawlessly without any configuration at all.
zed --foreground
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
Is there even more debug available?
I am also tempted to try out their gpui library, might just cure my Rust aversion.
https://zed.dev/docs/linux#troubleshooting
Let us know if that doesn't fix it!
How is "run these bash commands", worse than "run this Python script", or "run these binary instructions on your CPU"? It all seems mostly the same.
What am I missing?
"vim_mode": true,
brew install --cask zed
The docs don't make it very clear that the cask is available via homebrew.There is lots of room for improvement of course, but I’d love to hear what your desired search experience is.
I've never used Zed, but Sublime is my primary editor specifically because of the incredible search functionality.
What do you use that's better?
I still use the JetBrains products as daily drivers but always keen to use new tools like this.
Edit: Nevermind, found it - https://zed.dev/faq#how-will-you-make-money. Interesting charter.
We envision Zed as a free-to-use editor, supplemented by subscription-based, optional network features, such as:
Channels and calls
Chat
Channel notes
We plan to allow offer our collaboration features to open source teams, free of charge.
Edit 2: They have apparently also already raised money via private equity. I am quiet soured on "free" products which will almost always be enshittified as the pressure to turn profit grows.>
> Channels and calls
> Chat
> Channel notes
>
> We plan to allow offer our collaboration features to open source teams, free of charge.
I'm perfectly willing to pay for some types of software, but for something as fundamental as my text editor, I want a model that doesn't depend on a company that needs money. That may sound a bit backward, as it otherwise depends on the goodwill of volunteer contributors, but that's the model I prefer and actually believe in.
No Emacs keybindings :'(
Is TypeScript support fully baked in? I don’t want to pay for things I don’t use.
Ctrl + Shift + X or use the top right dropdown menu.
https://github.com/zed-industries/zed/blob/main/docs/src/dev...
Yeah ...
I'll stick with VScode, might be slow but works
This is not an acceptable way to install anything on Linux. If you want to target Linux users you can't distribute with a shell script for installation.
I get that the idea is to reduce friction to installation and trying it out, but most Linux users - the ones you want filing bug reports anyway - are ones who will do due diligence and inspect the shell script to see what kind of opinions it makes about how to install the software.
For example, I see that the shell script downloads a tarball and unpacks it to `~/.local`, then tries to mess with my PATH variable.
Well, my local directory is `~/local`. So that's not where I want it. Actually, I would want it in `~/local/zed`, isolated from the rest of the installations in there. Then the PATH variable stuff just creates junk files since I don't use zsh. So I end up having to figure out the URL to the tarball and install it myself.
My point is that if you just listed the download link to the tarball, it would actually be closer to your own goal of reducing installation friction. The shell script is so much more friction because I have to read bash code instead of just clicking a download link.
"[...]And of course, the journey isn't over yet-we'd love your help, particularly if you're excited about:
- Helping bring Zed to your distro. Either by packaging Zed or by making Zed work the way it should in your environment (we know many people want to manage language servers by themselves).[...]"
Give them a hand ;) https://zed.dev/docs/development/linux#notes-for-packaging-z...
You might want to tell the rest of the software world how unnacceptable it is, because a huge amount of software, and especially dev tooling, is installed in this exact way.
It's especially hard for young or fast moving projects, most distro packaging just isn't very compatible with this velocity.
I'm personally on NixOS , which usually makes it easy to always get the latest and greatest, but eg would I really want to add a third party apt repository for Zed, which introduces complications and also can make changes to my whole system, rather than just having zed install itself in a local user-owned directory? I don't want to end up with 15 different third party apt repositories... adding those actually provides a higher amount of trust than shell scripts that only run with user permissions.
And there are similar considerations for most other distros. Arch is probably the only other one, next to nix, where it's quite easy to stay up to date.
(zed is already an official Arch package, btw, and before that it already was in aur, and of course it is in nixpkgs already)
It's not ideal, but whenever some pattern propagates across the ecosystem, there are probably valid reasons why.
It’s impossible to please everyone. Pipe to sh is simple, transparent, and easy to do. If reading through 200 lines of installation script is too much then reading through thousands of lines of Zed’s code base will certainly be too much.
They also list other ways of installing https://zed.dev/docs/linux
If you think this is not acceptable, check out what they did last week: https://news.ycombinator.com/item?id=40902826
Why not? It worked for me.
It's there https://zed.dev/docs/linux#downloading-manually, it just doesn't show up as the default installation method.
You can just move it after. .local is different from local so there is no clash.
Fortunately docs go into better detail, https://zed.dev/docs/linux
I'm on Debian anyway so who am I kidding expecting this to be in apt :D
Same as running random .exe from emails, but even without M$ signature.
Apt packages also have the root access, but official repositories at least have some paper trail and release process.
20% (35 chars) of screen space permanently wasted on a always on file browser (meanwhile the animation showcases fuzzy finding)
4% (7 chars) of screen space permanently wasted by line numbers (why are the numbers cut off on the right?)
2.7% (5 chars) of screen space taken up by a gutter
So 27% of screen space effectively dead 99% of the time.
Why do people do this to themselves?
I can't quite figure out how to get the gutter to truly only appear when needed (I can't remember why) but in my vim configuration 2 chars of space are taken up by the gutter and the rest is for the actual code. The current line number is in the bottom right, and if I need to go to a specific line number I have `G` for that. If I need a file explorer, there's the default Netrw one, there's NERD Tree, there's a terminal (I actually rarely need this anyway, but I can understand not everyone can cope, but I can't comprehend why you would need it on 100% of the time).
Why does the "modern text editor" waste so much screen space?
I have a 1200p laptop monitor which gives me 174 chars of horizontal space at a comfortable font size. If I split that in half I get two terminal windows worth of 87 characters each. If I keep my code under 85 characters per line, not only is it easier to read, I can keep a man page or another piece of code on the other half of my screen.
That is toggleable. Cmd+B on Mac. I usually keep it closed, but it's just a shortcut away when I need it.
> 4% (7 chars) of screen space permanently wasted by line numbers
You can disable that in the settings with:
"gutter": { "line_numbers": false }
> 2.7% (5 chars) of screen space taken up by a gutter
You can also disable the other items in the gutter to free up all of that space.
> So 27% of screen space effectively dead 99% of the time.
You can also press shift+esc at any time to toggle a fullscreen pane of whatever you are working on when you need more space without affecting your editor's state. I don't know the name of that action, I actually found that accidentally.
Edit: I forgot to mention, you can actually disable the tab bar now too if you want even more space. You would just need to rely on the tab switcher feature or file search to move around.
There's a % of people that like to think deeper about their tools, but I think most folks don't care enough or might be struggling with higher priority things at work. Plus, you don't know what you're missing.
For me, good setup is like compound interest that just keeps paying off over time.
How would you know which line number to go to? You see that word half a screen up, what's its line number?
1. curl | sh, seriously
2. The default theme is so low-contrast that I seriously struggled to read text. I could not find something that was, like, actual white on actual black.
3. I can figure out how to enable Copilot, but not to open a file. (I had to resort to “zed file.cpp” from a terminal.)
4. vim keybindings are not bad, but also not perfect.
5. It feels… laggy? Isn't this supposed to be fast? Whenever I move the cursor over a symbol, it first moves and then like 100 ms later, it tries to highlight that symbol everywhere. And that takes time. In a 200-line file.
6. Ugh programming ligatures. Where are preferences to turn it off? Where are the preferences for anything?
OK, well, I guess I could use this if I had nothing better. But if the point is that it's supposed to be zero-lag, #5 really destroys the point for me.It's pretty much guaranteed to work cross-platform, and if you're worried about it you can save the script and view it yourself. You're about to run their binary on your machine, why are you concerned about the script you're downloading?
> 2. The default theme is so low-contrast that I seriously struggled to read text.
The landing page when I opened the app had an option to choose from about 40 themes. I tried 3 of them and they were no _worse_ than VSCode's defaults.
> but not to open a file.
usual keyboard shortcuts, and system menu bar?
> Where are preferences to turn it off? Where are the preferences for anything?
System menu bar, which links out to some fairly comprehensive docs - https://zed.dev/docs/configuring-zed
I agree on the vim keybindigs and the performance, though.
It never spawned a window, and possibly because the process is itself launching another process, nothing is output to stdout or stderr to indicate what's going on.
"buffer_font_weight": 600
in the settings.json to fix the font rendering.
I'm at the point where I just can't motivate myself to try yet another. In my experience, they all have their strengths and weaknesses. My rule of thumb now: use whatever the majority of people on my team use. For non-team related work I find the community around Visual Studio Code to be good enough that it does what I need most of the time. I use bog-standard vim when I ssh into boxes.
didn't hear much about komodo till now