5 ms·
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% termina
by kybernetikos 2y 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/ https://lapce.dev/ also written in rust, but as I say, vim-style rather than kakoune/helix style.
- cbolton 2y agoWhat's the thing that bothers you most in a terminal app like helix compared to a regular GUI?
- feel-ix-343 2y agono shadows, no blur, no animations ...
- eviks 2y agoApp 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
- cbolton 2y agoWhat is app detection? Regarding poor key binding support, I think that's not really a problem in modern applications. Quoting https://gpanders.com/blog/state-of-the-terminal/ https://gpanders.com/blog/state-of-the-terminal/ : > Sending key presses as escape sequences requires that terminal applications are able to recognize and parse those sequences, so it is not something that “just works” out of the box. However, the kitty keyboard protocol has been widely adopted by both modern terminal emulators and terminal applications. Terminals which support the kitty keyboard protocol (to some degree) include Wezterm, Alacritty, kitty, foot, Ghostty, and iTerm2. Applications which support the kitty keyboard protocol (to some degree) include Vim, Neovim, Helix, kakoune, and nushell. This means that when using one of these applications in one of these terminals, all of the key encoding problems discussed above (as well as some others which were not discussed…) are solved. At least I indeed saw no such issue using helix in wezterm for example.
- eviks 2y agoApp detection is being able to tell which app you're using, e.g., knowing that you're using Helix and not just WezTerm Poor key binding support is still a problem despite the optimistic quote (and might last for one more generation given the snail speed of progress). For example, the kitty protocol isn't "comprehensive" despite its dev's claims: it doesn't support left vs right modifiers and also some non-standard modifiers that are used to circumvent this limitation (only hyper) > At least I indeed saw no such issue using helix in wezterm for example. I think helix still doesn't support even the full kitty protocol, e.g., the Windows key. And I do see these issues since I'm using richer keybindings to make input more ergonomic.
- aumerle 2y agoThe kitty protocol not supporting your stupid made up usecase does not make it non-comprehensive, despite your claims.
- eviks 2y agoInstead of calling everything you don't understand stupid you could just make some effort to comprehend
- aumerle 2y agoI did and I comprehended that you want left and right modifiers to be different. The rest of the world disagrees with you. That does not give you the license to go around maligning other people's work.
- eviks 2y agoYou're too limited in your perspective to speak for the rest of the world, for example, you had no clue that the bigger part of the OS world - Windows - doesn't disagree (though that failed to become a learning opportunity). So there is enough better design in the world to call out lack of comprehension in both other people's work and other people
- lsllc 2y agoHave 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 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 2y 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.
- yjftsjthsd-h 2y agoMeta: 4 spaces indentation to format code. Question: exec --no-startup-id "sh -c 'sleep 10; exec foot --app-id=term-editor'" What's the sleep for?
- ilyagr 2y agoThere are Kakoune-style bindings for vs code: https://marketplace.visualstudio.com/items?itemName=gregoire.dance 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 2y agoI've been using this fork which has Helix bindings: https://marketplace.visualstudio.com/items?itemName=silverquark.dancehelix https://marketplace.visualstudio.com/items?itemName=silverqu... Works great even though it's labeled as an alpha.
- Hasnep 2y agoI'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 https://zed.dev
- poetril 2y agoI’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.