this post was submitted on 10 Jul 2024
388 points (95.1% liked)
Linux
48640 readers
1782 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Anyone care to compare this with Helix?
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.
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
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.
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.
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
Okay this sounds very good, so they actually improve git cli feature wise in addition to implementing GUI for it.
Thanks for the reply!
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.
Doubt =D
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
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.
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.
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
Oh that sounds very sweet!
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.)
What other VCSs are supported?
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).
Why Helix over (neo)Vim?
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.
A better out of the box experience-- fewer plugins required. More discussion here: https://urbanists.social/@markstos/112586854536602496
Cool, but is it possible to add vim bindings to Helix? I'm too used to them, I even use them in Emacs.
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.