I don’t know if Lemmy can do it yet, but I remember Reddit and also Facebook( I think) lets you set a minimum account age to post in a community. So we might want to get our mods to do that.
Thank you, that’s so kind! I’ll probably try to tackle the comments first as they come quite messy from the api, then I’ll probably give the images a go.
To be honest, I’m hoping this project doesn’t get out of my league too quickly as a have almost no experience with working with apis.
Anecdote, I know, but for my use cases, Wayland just isn’t there yet- I wind up with far more random bugs and less battery life. I don’t pretend to know why, I’m a pleb non-developer, but until that’s resolved I’m still stuck on X. I’d love to use the new shiny thing of The Future™, but not at the cost of stability and usability.
I think that given how frequently this argument is brought up (and it is of course true about it not being completely there yet) so this is just my opinion on the situation (and I am not a dev so I am fine with being wrong and corrected). It is kind of needed for more projects/distros to start actively using it. As a lot of the stuff kind of needs the band-aid ripped off to start forcing it to get there faster at this point. Otherwise it just keeps being held back as people on the coding end of things will keep focusing on X11 issues instead of getting things ready for Wayland.
Kind of like the conundrum of mobile OSes that aren’t Android or iOS. It is hard to get people/companies to even try the new OS because the lack of apps (specifically the most common ones used by the most people). But app devs don’t want to spend time re-building or starting new apps for an OS that isn’t being used (or on devices people are buying). So at a certain point it needs both sides to interact and make progress. The OS needs the apps more at this point, and getting feedback and data from those devs makes it known where things are and aren’t working. But it is also true the devs for the apps might end up finding out the OS is actually easier to work with compared to what they have been doing/dealing with on Android/iOS.
Getting a replacement for X11 has been needed for a long time as the OSes and features keep needing something new to better work for how computers have advanced. And it isn’t something that many devs would want to take on given how easy it is to just use what is already known. Since Wayland has finally gotten to the point it is now, it is time for more devs to start learning/moving to the new thing to get attention to the stuff that they need. The hardest part is this in between period for users as it can and will cause random issues (like the ones you have seen). Stability is important, but Linux is great because there will always be distros and projects that keeping the old thing running well is the main objective. So we are in some great times for the new to be pushed hard so it can become the stable future needed.
Been trying to think of a term for this issue. It’s not quite chicken or egg. But both sides need the other side to incentivize them. If one gets going the other will follow, but they’re waiting for each other. Like some sort of collaborative standoff.
Because every IDE implementa a different git interface and I can’t be bothered to figure out where they hid the commit, push, pull etc. buttons this time.
Damn I hate with a passion the IDE interactions with source control software. I may make use of the visual information they give me, but I still execute the commands in the console.
Same. Git GUIs can be great for examining commit trees, visualising patches, etc. For any write operations (this includes things like fecth and pull which write to .git), it’s all in the shell.
When teaching programming classes it’s awful trying to figure out every IDE’s git interface that my students are using. Each IDE puts the buttons in very different layouts and they even change the names of the buttons because they don’t like the way git itself named operations. It’s untenable to know them all and actually be efficient and helpful as the instructor.
Instead, I say they’re welcome to use the IDE, but the class materials use the canonical underlying command line tools and terminology. They just need to search for how to translate the real git interface to however their chosen tool does the same operation, but it’s up to them to figure it out.
When they do ask for help, I bring up the terminal (usually even inside the IDE) and run the git commands just like we went over in class.
I’ve thought about it, but right now everything works exactly the way I need it and the only complaint I have is the occasional pop-ups from MS trying to get me to upgrade to win11 or switch my browser. My main uses for my devices are games and I just started back to school, so MS Office is nice to have. So, it’s hard to justify putting in the effort to change things now, especially when I know how to use MS products very well, particularly modding games.
Yeah. I feel ya. I still have windows on dual boot for certain things and it’s been a struggle at times but I gotta say I dread the times I need to boot windows! So much slower and annoying
I have used vim/neovim for years and cannot go back to a non-modal editor. But TBH I got sick of its configuration. You need far too many plugins and config to get things into a sane working order to be usable on a day to day bases for any type of development. It takes ages to learn and become as productive as you were before and a lifetime to refine.
For the past year or so I have switched to helix and don’t plan on going back to vim/neovim as my main editor ever again. It is a modal editor that is a mix between Neovim and Kakoune editors. It comes with batteries included, and supports an IDE like experience out the box with treesitter syntax highlighting and LSP language integrations out the box. My whole config is like 6 lines long yet it works far better then my old neovim setup with a multitude of plugins and hundreds of lines of config. It is like what AstroNvim, LazyVim, LunarVim and NvChad etc are trying to do to vim/neovim but instead has built in support for all the things they rely on plugins for. Which means there is no need to constantly keep them up to date nor weird edge cases where one plugin does quite integrate with another smoothly. It is all built in so things are designed to work well together.
But it currently does lack any plugin support. So if something is not built in that you want you have to make due without it (well, except language support, adding new LSPs is not too hard). And plugin support is being worked on so even this will be a non-issue hopefully in a year or two.
I have used vim/neovim for years and cannot go back to a non-modal editor. But TBH I got sick of its configuration. You need far too many plugins and config to get things into a sane working order to be usable on a day to day bases for any type of development. It takes ages to learn and become as productive as you were before and a lifetime to refine.
Interesting. Though I can definitely see where you’re coming from. Uhmm…, have you used any of the Neovim distributions to make maintenance easier?
For the past year or so I have switched to helix and don’t plan on going back to vim/neovim as my main editor ever again.
Both Helix and Lapce have certainly piqued my interest as FOSS alternatives to VS Code. However, both have issues related to how well their current Vi(m) implementation is. As you’ve touched upon it; Helix’ keybindings and ‘sentence-structures’ are different to those found on Vi(m).
Furthermore, neither of the two have existed long enough to be able to profess any statement regarding their longevity. Like, there’s no guarantee that I can keep using either of the two 20 years into the future. While no program is able to 100% guarantee that, undoubtedly, the track records for both Emacs and Vi(m) testify that -if anything- they would be the most likely ones to survive 20 years down the line; like how they’ve done for the last couple of decades.
I appreciate the input, but I simply don’t want to invest in a program whose future is very unclear to me at this point in time.
Interesting. Though I can definitely see where you’re coming from. Uhmm…, have you used any of the Neovim distributions to make maintenance easier?
I have, but dont like them. They all have weird install processes and need to manage their own set of configs on top of vim in your home dir. This makes them very hard to properly package or integrate with config management tools and require a different flow to keep them up to date from the rest of your system. They combine sometimes hundreds of plugins, of which only a few are designed to work together and while a lot don’t try to step on each others toes that many I often find issues in niche use cases. And when you do find an issue, or something you want to tweak you have 100s of plugin configurations that you need to learn about to figure out just what is doing what and which options you need to tweak.
It is all just far more hassle then I want out of my editor these days. Helix just works out the box and has basically everything I want from a editor nicely integrated into it.
As you’ve touched upon it; Helix’ keybindings and ‘sentence-structures’ are different to those found on Vi(m).
They are a little different and take a bit to get used to. But IMO I find them far nicer way to work. It is very nice being able to see what your action is going to effect before you do it - unlike in vim when you just hope you have hit the right movement keys. And it also pops up a small window for leader keys (like space) which show you what you can do with it making it far more discoverable then vim/neovim without needing to pour though hundreds of pages of manuals to even get a glimpse of what it can do or needing to go back to them to remember something that you dont use very often. It is not trying to be a 100% vim compatible layer, it is trying to give you the best experience it can out the box. And I think it does that quite well (at least once you get used to the new way of working - which does not take that long).
Furthermore, neither of the two have existed long enough to be able to profess any statement regarding their longevity. Like, there’s no guarantee that I can keep using either of the two 20 years into the future.
20 years is a long time. I can see it existing for the next 5 years at least, and looks to be on the trajectory to be a long lasting product. Though no one can say for sure. But, the more people using it the more likely it is to stick around for the long term. Just about everyone that I have seen use it over vim have highly praised it and it has quite a few contributors already (700+ on github), which is very impressive compared to vim (about 300), and neovim (more then 1100).
And keep in mind that vim has been around so long thanks to a single maintainer, Bram Moolenaar, who passed away this year. Which is not a great sign for vims future for the next 20 years.
I appreciate the input, but I simply don’t want to invest in a program whose future is very unclear to me at this point in time.
The investment in helix is far less then that you need to put into vim/neovim due to all the configuration you need for them. Well worth it for how active it currently is and how many people are putting effort into it.
Wow! Excellent and thorough response. Thank you so much for taking your time 😊!
It is very nice being able to see what your action is going to effect before you do it - unlike in vim when you just hope you have hit the right movement keys.
That’s awesome! Which does beg the question why the others haven’t implemented such functionality (yet)?
And it also pops up a small window for leader keys (like space) which show you what you can do with it making it far more discoverable then vim/neovim without needing to pour though hundreds of pages of manuals to even get a glimpse of what it can do or needing to go back to them to remember something that you dont use very often.
Interesting. If I’m not mistaken, both Spacemacs and Doom Emacs offer similar functionality through the emacs-which-key package. I would think that Neovim should have some plugin that does something similar, but perhaps not.
Just about everyone that I have seen use it over vim have highly praised it and it has quite a few contributors already (700+ on github), which is very impressive compared to vim (about 300), and neovim (more then 1100).
I didn’t expect for them to be so many 😜. Hmm…, food for thought; thanks for pointing that out!
And keep in mind that vim has been around so long thanks to a single maintainer, Bram Moolenaar, who passed away this year. Which is not a great sign for vims future for the next 20 years.
I definitely understand that Vim’s future is lot less certain compared to two years ago due to the passing of Bram Moolenaar. However, and I might be wrong on this, but I feel as if Vim has reached a critical mass of following such that it’ll probably continue to exist in some healthy form regardless.
In general I think you make a excellent case for Helix. I’m actually considering if I should reconsider it (if that makes sense). Uhmm…, but two questions remain:
I shouldn’t expect remote accessing some random server will allow me to use Helix, right? Is there any other way to make this work? Or…, should I just learn both Vim and Helix’ Vim + Kakoune amalgamation?
Vim is literally ubiquitous and plugins that enable its features can be found on almost any ‘platform’. It’s unrealistic to expect Helix’ adoption to be at that rate (yet). However, would you happen to know if at least the likes of VS Code and/or Jetbrains’ IDEs support it? And if so, how good their support/implementation is?
I shouldn’t expect remote accessing some random server will allow me to use Helix, right? Is there any other way to make this work? Or…, should I just learn both Vim and Helix’ Vim + Kakoune amalgamation?
That all depends on the server in question and if you can install things onto it or not. Some points to consider though:
If the server is restrictive on what you can install then you likely are stuck with basic vim or worst only vi - and without all your configs it is a very different beast of an editor anyway and something you will need to get used to everytime you jump on the server.
If you can install stuff to your home drive then it is quite easy to get helix running - it is a single binary with some language assets (requires one env var to point to them). So is trivial to get working from your home dir without a package manager.
IMO you should not be editing things on a server often enough to worry too much about what editors it has on it. Ideally with things like ansible you should not need an editor on it at all.
Vim is literally ubiquitous and plugins that enable its features can be found on almost any ‘platform’. It’s unrealistic to expect Helix’ adoption to be at that rate (yet). However, would you happen to know if at least the likes of VS Code and/or Jetbrains’ IDEs support it? And if so, how good their support/implementation is?
Do you mean vi input mode in other editors? That is one downside - you wont find it anywhere yet. Though since learning it I have not needed to go back to other IDEs like VS Code or Jetbrains, WIth inbuilt LSP support its language integration is just as good as VS Codes as it is working off the same essential language servers. Though it does seem that at least vscode has a plugin for kakoune keybindings which are more similar to helixs.
Though what you will find is a lot of the keys are very similar between vi and helix, so apart from the big action > movement vs selection > action and a few other things they dont feel too dissimilar from each other (things like basic movement, ie w for word, e for end of word, or text objects are essentially the same).
and without all your configs it is a very different beast of an editor anyway and something you will need to get used to everytime you jump on the server.
Good point.
If you can install stuff to your home drive then it is quite easy to get helix running - it is a single binary with some language assets (requires one env var to point to them). So is trivial to get working from your home dir without a package manager.
I’m impressed. Thank you for pointing this out.
Ideally with things like ansible you should not need an editor on it at all.
Hmm…, honestly, I haven’t yet done a lot of things with Ansible yet. Perhaps it’s time to go explore that rabbit hole as well 🤣. Thank you (once more) for pointing this out!
Which does beg the question why the others haven’t implemented such functionality (yet)?
Helix continues the work previously done by Kakoune (some people prefer Kakoune over Helix anyway). As to why - because it, like any other computer science topic, is a topic of active research, and Kakoune is the next generation of research into modal editing. Disclaimer: I use Neovim because it works well enough for me (it does offer more configurability, but I doubt I use it that much) and I don’t want to learn another set of hotkeys (which is similar enough, but still different).
I shouldn’t expect remote accessing some random server will allow me to use Helix, right?
That’s right, but as a Neovim user, it’s hard for me to use Vi, because it lacks many features, and I don’t know which ones. When you start going from basic to advanced knowledge, it sadly doesn’t translate. Of course, I would still pick Vi over Nano any day.
There’s a similar problem with many shells (fish, readline (bash)) that don’t fully implement Vim’s features, so their Vi mode sucks, but I still use it.
As to why - because it, like any other computer science topic, is a topic of active research, and Kakoune is the next generation of research into modal editing.
Interesting. First time I’m hearing this, but I’m very interested to learn about it. Thank you for mentioning this!
That’s right, but as a Neovim user, it’s hard for me to use Vi, because it lacks many features, and I don’t know which ones.
Very interesting. Did you first start with Vim or Neovim?
As you’ve touched upon it; Helix’ keybindings and ‘sentence-structures’ are different to those found on Vi(m).
Unless you really want vim bindings, try them out. At least Helix is based on the Kakoune editing model which is the editor I use, and I much prefer the way Kakoune works over vim, while still being close enough so that you can pick it up quickly if you already know vim and the other way around.
I kinda do for how ubiquitous Vim keybindings are.
try them out.
Regardless, I think I will try it out after I’m at least somewhat productive with Vim.
I much prefer the way Kakoune works over vim
I think preference is generally subjective. So you’re completely in your right to prefer Kakoune over Vim (and vice versa). Though, if possible, would you mind elaborating what you prefer exactly and why?
while still being close enough so that you can pick it up quickly if you already know vim and the other way around.
I kinda do for how ubiquitous Vim keybindings are.
Yeah, that’s a great reason to stick with it. It’s unfortunate that nothing really has Kakoune bindings other than Kakoune.
I think preference is generally subjective.
Of course, I know preference is subjective. That’s why I didn’t say “it’s better” :P Could very well be that vim works better for you.
The big reason I like them more is the concept of selections. Basically instead of a cursor you have a set of selections with start and end position (which could be the same position for a normal cursor), instead of having the object to delete as a parameter. For example, to delete two words it’s ‘d2w’ in vim, while it’s ’2wd’ in Kakoune. And after you type the ‘2w’, the selection shows what you’re about to delete, because it’s a separate command. It’s more useful when you’re operating on larger blocks of text, of course, or chain multiple commands together to create the selection you want. Sure, you can use visual mode in vim but it feels like an afterthought in a lot of ways.
I’ve already mentioned it but you can also have multiple selections at the same time, which I don’t think vim really does (I could be wrong though). This makes bulk operations really easy since they work exactly the same as operations on a single selection. For example, if you want to prepend let’s say “foo” to the next 10 lines, in Kakoune it would be ‘9CIfoo<esc>’ where C creates a selection one line under the current one, and I works the same as in vim. I believe you’d have to use macros for that in vim, something like ‘qqIfoo<esc>jq9@q’.
Those two are I think the main reasons I like Kakoune.
Doesn’t that disrupt muscle memory?
I haven’t really had problems with it, at least. Maybe because I’ve used vim for a long time before Kakoune. TBH I also don’t really use vim a lot anymore except on one remote machine that isn’t mine.
It’s unfortunate that nothing really has Kakoune bindings other than Kakoune.
That’s indeed very unfortunate…
And after you type the ‘2w’, the selection shows what you’re about to delete, because it’s a separate command.
That genuinely seems like very useful functionality. Thanks for pointing that out!
Sure, you can use visual mode in vim but it feels like an afterthought in a lot of ways.
Could you perhaps give some examples so that I can better understand/grasp why you feel that’s the case?
Those two are I think the main reasons I like Kakoune.
I haven’t really had problems with it, at least. Maybe because I’ve used vim for a long time before Kakoune. TBH I also don’t really use vim a lot anymore except on one remote machine that isn’t mine.
I am very grateful to you for sharing your experiences as a long time Vim user that currently prefers Kakoune over it. It has definitely impressed me and made me a lot more curious towards it. And I genuinely feel like I should think this over properly before I rashly commit to Vi(m). Thank you for raising such awareness!
Could you perhaps give some examples so that I can better understand/grasp why you feel that’s the case?
Hmm, one I guess is that it is not “permanent” and deactivates after one command (in Kakoune, you have to explicitly do ‘;’ to collapse the selection to its end (which you can flip with the start using ‘alt+;’) or move around without extending the selection). That’s really the only thing I can think of at the moment and I feel like often it really doesn’t matter tbh, so maybe I was just talking out of my ass there a bit lmao.
Apparently you can quickly reselect it in vim with ‘gv’ though, which I never checked until now. That’s useful to know.
One thing I’m really missing from vim though is that it can list directories, has a hex editor, and can read a bunch of other file formats. I think it can even edit remote files over sftp, but maybe I’m confusing that with Emacs. Kakoune just does local text files (though you can of course do stuff like ‘%|xxd’ to pipe the file through xxd to get a hex view, edit and then ‘%|xxd -r’ and save but that feels very very sketchy).
Hmm, one I guess is that it is not “permanent” and deactivates after one command (in Kakoune, you have to explicitly do ‘;’ to collapse the selection to its end (which you can flip with the start using ‘alt+;’) or move around without extending the selection). That’s really the only thing I can think of at the moment and I feel like often it really doesn’t matter tbh, so maybe I was just talking out of my ass there a bit lmao.
Regardless; thank you for mentioning this!
Apparently you can quickly reselect it in vim with ‘gv’ though, which I never checked until now. That’s useful to know.
Hehe, thanks for sharing that; might become useful soon 😅.
One thing I’m really missing from vim though is that it can list directories, has a hex editor, and can read a bunch of other file formats. I think it can even edit remote files over sftp, but maybe I’m confusing that with Emacs. Kakoune just does local text files (though you can of course do stuff like ‘%|xxd’ to pipe the file through xxd to get a hex view, edit and then ‘%|xxd -r’ and save but that feels very very sketchy).
Until yesterday I knew almost nothing about Kakoune. But I’ve since tried to do some reading; while there’s still a lot to uncover and/or explore, I feel as if it tries to offer a more focused experience (for better or worse).
linux
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.