this post was submitted on 10 Jul 2024
266 points (95.2% liked)

Linux

48190 readers
1541 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
266
submitted 4 months ago* (last edited 4 months ago) by [email protected] to c/[email protected]
 

Zed is a modern open-source code editor, built from the ground up in Rust with a GPU-accelerated renderer.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 13 points 4 months ago (3 children)

Anyone care to compare this with Helix?

[–] [email protected] 13 points 4 months ago (2 children)

Very first impressions since I literally just downloaded before writing this, and haven't read the manual, I may change my mind with more experience.

  • It's incredibly snappy, to my eyes as fast as Helix.
  • A lot of stuff that took me a while to figure out in VS Code was immediately obvious. How to toggle inlay hints for Rust? Parameter Icon > Inlay Hints (with the keyboard shortcut there for easy toggling).
  • Interactive is generally intuitive because it seems pretty permissive. Tab vs Enter to autocomplete? Either! ctrl-shift-Z vs ctrl-Y to redo? Same thing!
  • After being so used to Helix I often reach for keybinds that don't exist. I might have to learn Vim keybinds because I'm definitely going to keep trying Zed.
  • Not sure how I feel about what seems to be an inline discord-like chat/voice-call feature.

Going to check out if there's git integration, because I couldn't easily find it.

[–] [email protected] 9 points 4 months ago* (last edited 4 months ago) (3 children)

Going to check out if there's git integration, because I couldn't easily find it.

Asking this because I'm noob, not elitist ass: Why a git integration in ide instead of using the cli? I've been working only on few projects where git is used, but the cli seems to be a ton easier to understand how to work with than the git integration in vscode which I discarded after few attempts to use

[–] [email protected] 10 points 4 months ago (1 children)

Depends on the features.

Git has some counterintuitive commands for some commands you may want to do when you want to quickly do something. Being able to click a button and have the IDE remember the syntax for you is nice.

Some IDEs have extra non-native Git features like have inlined "git blame" outputs as you edit (easily see a commit message per-line, see who changed what, etc.), better diff/merge tooling (JetBrain's merge tool comes to mind), being able to revert parts of the file instead of the whole file, etc.

the git integration in vscode which I discarded after few attempts to use

I'm going to be honest, I don't really like VS Code's Git integration either. I find it clunky and opinionated with shitty opinions.

[–] [email protected] 3 points 4 months ago

Git has some counterintuitive commands

Yeah... 'git merge main' weirds me out because my brain likes to think the command is merging current branch TO main instead of other way around

Some IDEs have extra non-native Git features like have inlined "git blame" outputs as you edit (easily see a commit message per-line, see who changed what, etc.), better diff/merge tooling (JetBrain's merge tool comes to mind), being able to revert parts of the file instead of the whole file, etc.

Okay this sounds very good, so they actually improve git cli feature wise in addition to implementing GUI for it.

Thanks for the reply!

[–] [email protected] 3 points 4 months ago (1 children)

I'm probably more of a git noob than you, but I do usually use the cli. I figured if I'm going to give a gui editor an honest shake I should try to do things the inbuilt, gui, way. And more to the point, I do appreciate a good user interface with information at a glance or click instead of having to type out a command each time.

[–] [email protected] 3 points 4 months ago

I'm probably more of a git noob than you

Doubt =D

And more to the point, I do appreciate a good user interface with information at a glance or click instead of having to type out a command each time.

Agreed with good user interface, my criticism was specifically for the vscode default git plugin which I was not compatible with at all but it could be just a me-problem

[–] [email protected] 2 points 4 months ago (1 children)

I mainly use git with cli, the one thing that's been super helpful in vscode is gitlens, which shows you who last updated the line you're on, and lets you look at the commit

[–] [email protected] 2 points 4 months ago

Oh that sounds very sweet!

[–] [email protected] 6 points 4 months ago (1 children)

Git integration seems to be so embedded that it's easy to miss. Open a git repository folder and you can switch branches and whatnot. But, like, in the command palette, there's no Git > Pull or Git > Clone as in vscode. (I have barely scratched the surface so it might be there hiding in plain sight.)

[–] [email protected] 1 points 4 months ago

What other VCSs are supported?

[–] [email protected] 7 points 4 months ago

Zed has a lot more features and is GUI-based. Helix is more focused and is CLI-based. I think a more direct comparison would be with VSCode(ium).

[–] [email protected] 4 points 4 months ago (2 children)
[–] [email protected] 5 points 4 months ago

Better/simpler experience out of the box. With Helix you install the LSPs for languages you use and you're set with a fully featured editor. Manual configuration is only needed for setting themes, keybinds, and small setting changes. It also feels much faster than a fully configured vim/neovim. Lastly its keybinds are inspired by Vim/Kakoune, but different from both.

[–] [email protected] 1 points 4 months ago (1 children)

A better out of the box experience-- fewer plugins required. More discussion here: https://urbanists.social/@markstos/112586854536602496

[–] [email protected] 1 points 4 months ago (1 children)

Cool, but is it possible to add vim bindings to Helix? I'm too used to them, I even use them in Emacs.

[–] [email protected] 1 points 4 months ago

A lot of the bindings are the same, because Helix was inspired in part by Vim.

Helix overall tries to make more consistent vocabulary and "nouns" and "verbs" in the keybindings, so there are some breaking changes.

Someone published a more "vim-like" set of keybindings for Helix: https://github.com/LGUG2Z/helix-vim

I started with that and then have slowly disabled a number of them as I come to appreciate the Helix defaults, and have realized that some of these vim-bindings are overriding other Helix bindings that I wanted.