this post was submitted on 10 Jul 2024
398 points (95.0% liked)

Linux

48317 readers
685 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
398
submitted 4 months ago* (last edited 4 months ago) by ksp@jlai.lu to c/linux@lemmy.ml
 

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
[–] markstos@lemmy.world 17 points 4 months ago (3 children)

Anyone care to compare this with Helix?

[–] Bolt@lemmy.world 19 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.

[–] hemko@lemmy.dbzer0.com 11 points 4 months ago* (last edited 4 months ago) (5 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

[–] micka190@lemmy.world 15 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.

[–] hemko@lemmy.dbzer0.com 6 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!

[–] Bolt@lemmy.world 4 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.

[–] hemko@lemmy.dbzer0.com 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

[–] flux@lemmy.ml 3 points 4 months ago* (last edited 4 months ago)

A great git integration can work well in an editor. I use Magit in Emacs, which is probably as full-featured Git-client as there can be. Granted, for operations such as cherry-picking or rebasing on top of a branch or git reset I most often use the command line (but Magit for interactive rebase).

But editor support for version management can give other benefits as well, for example visually showing which lines are different from the latest version, easy access to file history, easy access to line-based history data (blame), jumping to versions based on that data, etc.

As I understand it vscode support for Git is so basic that it's easy to understand why one would not see any benefits in it.

[–] ParetoOptimalDev 3 points 4 months ago

This video using emacs magit git porcelain might help you see why:

https://m.youtube.com/watch?v=qPfJoeQCIvA&feature=youtu.be

Basically you can go quickly from the log to viewing diffs or any other action on commits or groups of commits and more.

I used to only use git from CLI for 10+ years but mostly only use magit now.

[–] iiGxC@slrpnk.net 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

[–] hemko@lemmy.dbzer0.com 2 points 4 months ago

Oh that sounds very sweet!

[–] pukeko@lemm.ee 7 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.)

[–] toastal@lemmy.ml 1 points 4 months ago

What other VCSs are supported?

[–] pukeko@lemm.ee 11 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).

[–] theshatterstone54@feddit.uk 5 points 4 months ago (2 children)
[–] priapus@sh.itjust.works 8 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.

[–] markstos@lemmy.world 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

[–] theshatterstone54@feddit.uk 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.

[–] markstos@lemmy.world 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.