Readit News logoReadit News
kybernetikos · 2 years ago
I'm a fan. I was looking for something a bit more like a vscode experience with kakoune/helix style keybindings, but everything seemed to be either 100% terminal or vim-style. I was quite interested in https://lapce.dev/ also written in rust, but as I say, vim-style rather than kakoune/helix style.
lsllc · 2 years ago
Have you looked at Neovide? It's very similar to this, a cross-platform Rust based GUI front end for neovim. Neovide is really quite nice; it's beautifully rendered.

https://neovide.dev

My primary use case for Neovide (vs neovim running in Wezterm/kitty/Alacritty) is simply so I can Alt/Cmd-TAB to it quickly as I usually run with many terminal windows open and it's somewhat of a chore to locate the one with nvim in it, whereas with Neovide I have a separate app with an icon in the dock/sysmenu to switch to.

opan · 2 years ago
>My primary use case for Neovide (vs neovim running in Wezterm/kitty/Alacritty) is simply so I can Alt/Cmd-TAB to it quickly as I usually run with many terminal windows open and it's somewhat of a chore to locate the one with nvim in it, whereas with Neovide I have a separate app with an icon in the dock/sysmenu to switch to.

In Sway I have long (across three different terminal emulators) had a setup where I launch specially named terminals on session start, e.g. term-editor, term-local, term-remote, and then use the custom titles (I guess it's an appid actually) in my Sway config to make keybinds to focus those specific windows. I also focus my other always-used programs via their default appid (wayland) or class (xwayland), terminals just have the issue you mentioned of dealing with multiple, so had to use something more specific.

Relevant config lines:

```

exec --no-startup-id "sh -c 'sleep 10; exec foot --app-id=term-editor'"

bindsym ctrl+$mod+e [class="Emacs"] focus ; [app_id="term-editor"] focus

assign [app_id="term-editor"] 1

```

That last one makes the editor terminal always launch on workspace 1 which makes it a bit easier to get things where I'm used to having them after a restart.

The bind looks for emacs before my special term as I was using emacs (with evil) for a bit and had the bind set up to focus that. I left it in because this way if I just have one or the other open at some point, the bind works as expected without me having to change the config back and forth. Though with both open my focus ends up on the terminal.

Most terminal emulators should support a similar argument for launching with a custom id/title/whatever, and even if you're not using i3 or Sway, I think there are other programs such as wmctrl which can do something similar.

tjoff · 2 years ago
Surely you can just fix the cmd-tab behavior? I've always imagined the defaults were tuned for non-techies, because they don't exactly do well with many windows.
ilyagr · 2 years ago
There are Kakoune-style bindings for vs code: https://marketplace.visualstudio.com/items?itemName=gregoire...

I use them every day :)

There is a discussion of Helix-style bindings on their github, and some proofs of concept, but nothing polished yet AFAIK.

SkyArrow · 2 years ago
I've been using this fork which has Helix bindings: https://marketplace.visualstudio.com/items?itemName=silverqu...

Works great even though it's labeled as an alpha.

cbolton · 2 years ago
What's the thing that bothers you most in a terminal app like helix compared to a regular GUI?
eviks · 2 years ago
App detection, which breaks simple things like alt tab and more complicated things keyboard rebindings via external tools (and all the other cooperation with utilities based on app detection), then poor keybinding support of terminals with whole modifiers missing
feel-ix-343 · 2 years ago
no shadows, no blur, no animations ...
Hasnep · 2 years ago
I've heard that Zed's vim mode is very good, although I'm not a vim user so I can't confirm.

https://zed.dev

poetril · 2 years ago
I’ve been splitting time recently between Zed, VSCode, and Neovim. Zed has come along way, its native vim integration is top notch. It ties in its core editor features and enables them via vim commands rather than offering a true “vim experience”, which is exactly what I’m looking for but certainly won’t be for everyone.
leecommamichael · 2 years ago
> Most modal editors are terminal apps, I'd like to change that and implement a good modal GUI editor.

That’s lovely, I’m doing the same. I’m using glfw and C++14 to build a vim-ish IDE. I never learned to love vim/nvim plugins, and make only basic use of macros and substitutions so that’s pretty much the feature-set. It’s very fun to build your own UI library.

turboponyy · 2 years ago
The best graphical, modal text editor is Emacs.
imiric · 2 years ago
*with evil-mode.

There's plenty of things that Emacs does right, but evil-mode is far from ideal. Many plugins don't support it OOB and need special workarounds. Many others expect native Emacs keybindings and you need to manually add ones for evil-mode specifically. Nowadays I don't experience many issues with it, but this is mostly because my setup is largely static, and it took me several years of tweaking the configuration to get it in a state that's usable and intuitive for me. It's unreasonable to expect everyone else to have the same patience, so an editor with a _native_ modal UI can certainly improve the user experience.

wudangmonk · 2 years ago
it also has many terminals to choose from and dirvish which sits on top of dired is the best file editor I've used.
beyondCritics · 2 years ago
Emacs is far from being modal though ...
Lyngbakr · 2 years ago
I'm a happy Helix user and I'm curious what the benefit is of this over terminal-based Helix?
dcre · 2 years ago
In general, the benefit of a UI would be that you can draw things you can't draw when constrained to a grid of characters, and you can have interactivity you couldn't otherwise have. It would be more like VS Code or Zed but with the Helix editing model underneath.

(Worth noting one of the maintainers said only a couple months ago: "this is really far away right now as helix needs large architectural changes before writing a GUI is even feasible/a good idea."[1])

[1]: https://github.com/helix-editor/helix/issues/39#issuecomment...

Lyngbakr · 2 years ago
Ah, I see. Would this come at a performance cost? (My only experience with GUI editors is VSCode, which feels sluggish compared to Helix.)
spartanatreyu · 2 years ago
Another benefit that hasn't been mentioned yet is menu bars (e.g. File, Edit, View, Help, etc...)

Having a visible menu bar helps with feature discoverability.

While it's true that terminal-based editors can have menu bars (e.g. nano), they're more limited overall than what you'll find with native OS menu bars.

eviks · 2 years ago
What's the limit over native?
MaximilianEmel · 2 years ago
Why is this flagged?
mekster · 2 years ago
If you're in an environment to use GUI, there are plenty other more featureful alternatives.

But good terminal editors are rare to be used within SSH sessions. (Vs code can do but editing root owned files aren't easy)

jchw · 2 years ago
Editing root-owned files by opening an editor as root is generally considered to be an anti-pattern. There is sudoedit as an option, but that also works with VSCode (and has the same limitations roughly.) The better option is probably just not editing root-owned files directly except in an emergency; there's usually better approaches to deploying system-wide changes.
mekster · 2 years ago
What would be the better approach to handle bunch of files in /etc/ without making the process reluctant?

I don't want to git push/pull on every minor edit that I might revert the next minute.

This also involves, directory listing that is only root accessible.

ldelossa · 2 years ago
All we want is a tree explorer :'(
frankjr · 2 years ago
That's probably not going to happen as part of the core editor (there's a long discussion about this somewhere on the bug tracker) but should be easy to add using the now work-in-progress plugin system. Scroll down to the Examples section.

https://github.com/helix-editor/helix/pull/8675

matrixhelix · 2 years ago
Funny how the maintainers preferred to build a plugin system instead of just the tree explorer, I suspect Helix will lose its biggest feature: no plugins and easy configuration :(
bobbyskelton41 · 2 years ago
Configuration with scheme looks like it would be pretty similar. https://github.com/helix-editor/helix/discussions/10441
innocentoldguy · 2 years ago
I used to use tree explorers all the time, but once I discovered fuzzy-search file explorers, I never used a tree explorer again. It’s been too long for me to remember why I liked tree explorers before or why I stopped using them, so I’m curious, what are the benefits of a tree explorer over a fuzzy-search file explorer?

I’m not questioning the usefulness or validity of tree explorers. I’m just trying to see things from a different perspective.

spartanatreyu · 2 years ago
Tree-based finders allow you to explore a project.

Fuzzy finders only work when you already know what files exist.

Without a tree-based finder, you have no way to know which files exist in an unfamiliar project. Imagine being asked to change something in a project (e.g. add some extra space between two things on screen) without knowing what files existed. If you only rely on searching for names/terms that come to mind, you're probably going to miss the best way to accomplish the task at hand.

Charlie_e · 2 years ago
Tbh, I like having both, I find a fuzzy search is faster at finding what I want but a file tree is really helpful for building a mental model of directory relationships in a complex project.
Charlie_e · 2 years ago
Being made with gpui means it's mac-only right? Seems worth mentioning for anyone not familiar with the library and an odd choice if the goal is parity with Helix.
Flex247A · 2 years ago
GPUI works on Windows too now.

Can build Zed from the main branch.

Charlie_e · 2 years ago
I had heard of that but went off the fact that MacOS is still a requirement in the repo readme. Just had a peek in the build.rs and do see the windows target, which is great, Rust could definitely use some more cross-platform UI tooling
davefol · 2 years ago
What has your experience using GPUI been like?
jenadine · 2 years ago
Also wondering how stable it is (how often are they breaking source compatibility?) Since it is not released on crates.io