Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)TH
Posts
6
Comments
220
Joined
2 yr. ago

  • Seriously, if you want an IDE for Python and C#, VS Code with the Microsoft plugins is and will be miles ahead of the VIM experience.

    Someone else already pointed how VS Code has become the most popular IDE (at least according to statistics found on stackoverflow). While categorically I'd like to dismiss VS Code for not adhering to F(L)OSS, VSCodium -however- actually does fit the bill. And while formerly I've had bad experiences on it related to how the plugin ecosystem is configured by default compared to VS Code, I've since learned how it works on VSCodium. So I shall set it up in case Emacs and/or (Neo)Vim somehow seem to be less fit for the job and/or I can't be bothered at that moment to configure Emacs/(Neo)Vim to do my bidding.

    Learn vi

    Will do.

    The time trying to force VIM/EMACS into a descent IDE will never come back and the theory sounds better than it will be in reality.

    I understand the concerns. And I agree that I should be realistic in how I approach this. Nonetheless, I'm faithful for it to be a very productive endeavor. Thank you for chiming in!

  • And it’s written in Rust so I feel pretty comfortable working in the codebase.

    Rust, indeed, is a big plus.

    It has shortcomings from being young, but they are rapidly disappearing. The philosophy of being mostly “batteries included” is so refreshing compared to the configuration hell of NeoVim.

    While its shortcomings might eventually be ironed out. Do you expect it to be as ubiquitous as Vi(m) has become? If not, do you expect Helix to improve its Vim implementation or rather become so popular that it can rival Vi(m) in being 'ever-present'?

  • I’m not using lsp in Neovim so if I need lsp I’ll just pull out emacs. If I’m already in the terminal I’ll usually pull out Neovim to edit a file, but if I’m writing like markdown or something that uses images I like the ability to display images inline in emacs. LaTeX is always something I do in emacs because there’s a built in pdf viewer in emacs and there’s built in spell check also. In the terminal in emacs, sometimes I open up Neovim to do a quick edit because of muscle memory from the terminal. One thing that’s really cool about Neovim is that you can embed it in other applications, so if I really have to use an ide that’s not emacs, I’ll just do that.

    Wow, the insights! Vehemently noting these down somewhere Heck, I think you've cracked the code. Since I've created these posts, I became more and more aware of how great both Emacs and (Neo)Vim are. And while I was already flirting with the idea to perhaps use both, I think you've just completely obliterated any other option; which is a good thing. As such, I'm actually grasping for words that would somehow be able to properly convey the feelings of gratitude I currently experience. For whatever it's worth; thank you from the bottom of my heart!

    Yeah there’s a thing called EAF, which allows python and javascript to be embedded in emacs. It allows for more complex applications to be built in emacs, similar to VSCode. I’m not sure how difficult it is to make something with EAF, but I haven’t really seen any things written in it that aren’t in the EAF organization. I think the future could be EAF or maybe something like EAF to be able to leverage the power of the javascript ecosystem like how VSCode does for a lot of plugins. There have been some attempts to rewrite emacs in different languages, but emacs is too large, and you would lose the old ecosystem by doing that.

    Once more; much appreciated!

    There’s a larger community around Doom Emacs, and Doom Emacs looks nicer. Honestly though it doesn’t matter that much which one you use since they are both pretty good.

    Yet again; I'm grateful! Have a good one! I wish you and your loved ones the best!

    • the default editor is kinda shit
    • but it is really good at editing it’s configuration language: elisp

    So people have a need to change their editor, and a good configuration language to do it in. Moreover, emacs secretly comes with a bunch of built-in features, not enabled by default. It also helps that emacs is not terminal-based, allowing users to do stuff in emacs that you aren’t able to do in a normal terminal (like viewing images, or searching for images on the web. Did I already say that emacs has a built-in (primitive) web browser?) and generally means that emacs users “live” in emacs, as they already have access to so many features.

    That makes so much sense. Would it be fair to say that Neovim attempted with Lua to bridge that gap and also make it a lot more accessible?

    Did I already say that emacs has a built-in (primitive) web browser?

    I don't think you did, but I'm already aware. I even have some concerns regarding its sandbox 😅. Would you happen to know more regarding this?

    I wouldn’t quite say that. It is more that you are probably going to need some prerequisite emacs knowledge to make the best use out of spacemacs’ layer system. To figure out how spacemacs works, you first need to have a basic idea of how emacs works. Doom is a bit closer to the metal, so you need to know less in order to properly customize it

    That's some excellent insight! Thank you very much, good human!

  • Unless you really want vim bindings

    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.

    Doesn't that disrupt muscle memory?

  • I probably would have never got into Emacs at all if I had to start with vanilla.

    Very interesting. I assume this is due to the amount of effort that would have been required for it to acquire some of the functionality you were expecting out of it. Am I right?

    IMO Lisp is what makes Emacs great, and vimscript is (was?) an absolute nightmare for anything complex. I don’t think lua is a bad language, but I’ll still take Lisp any day for this purpose.

    This is actually a great point that I somehow completely ignored so far. I intend to put my teeth in GNU Guix at some point in the future. As Guile Scheme and Lisp are -to my knowledge- at least in some way related, using Emacs should at least provide an excellent platform for me to get accustomed to what it is yet to come. Thanks for mentioning that!

    What I described isn’t using containers. Nix just provides an environment for processes to run in, and direnv-mode ensures it’s using the right environment for a given buffer in Emacs. So for example I don’t have OmniSharp or dotnet in my user $PATH, but they are provided by the nix expression in a particular project directory. That allows lsp-mode to start OmniSharp as a language server, or I can run dotnet build using the Emacs compile command.

    That sounds very compelling! Thanks for that insight! Perhaps I should stop procrastinating and get on with learning Nix 😅.

    You can define containers with nix and manage them with nixos-container. I do that for testing server deployments, or running sandboxed services, but I’ve never needed something that complex for a dev shell.

    Yet another reason in support of learning Nix.

  • I was shocked when I went from “I’ve never used spacemacs before” to “I’m comfortably writing LaTeX here” in about half an hour.

    This line really piqued my interest, especially considering that I've had another conversation with someone else in which the general sentiment seemed to be that "Spacemacs expects you to know Emacs, while being a completely different beast of itself.". May I ask how your Spacemacs is configured? Would you say it's close to the default config? Or rather a significant departure? Furthermore, I believe I've read the existence of some kind of version control. Which, at least by the name of it, should somehow contribute to a more stable experience. Or am I perhaps confusing things?

    My setup still breaks occasionally and sometimes it’s a bit difficult to figure out why and how to fix it

    Does this happen randomly? Or rather as a 'response'?

    I like being able to change how the editor works on the fly just by writing some elisp anywhere

    This sounds very interesting and promising. Would you mind providing an example of sorts such that I can perhaps better grasp both the sheer amount of new possibilities it provides as well as its (possible) limitations (if at all)?

    I like that emacs has been around for decades and will be around for decades more.

    I wholeheartedly agree! But, I am at least somewhat concerned when it comes to its 'gravitational pull from afar'. To me at least, it seems as if, currently, Neovim does a better job at attracting new people. Perhaps these are just mostly refugees from Vim. Nonetheless, it can't be ignored (I think). Would you mind sharing your thoughts on this?

  • I'm so grateful for the time it took you to write this down. Thank you so much for your contributions in this conversation! I've greatly enjoyed reading every one of your replies. While I am currently not in the state to make any promises related to sticking to Neovim in the long run. I do think that I'm at least very interested to explore its possibilities. Have a good one! Cheers!

  • 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?
  • Thanks for mentioning Helix! I've definitely considered Helix. But as 'its Vim implementation' messes the structure of its 'sentences', it seemed somewhat detrimental with respects to improving my Vi(m)-game. Furthermore, I am not confident that it will continue to thrive 20 years down the line; while both Emacs and Vi(m) have already proven with their respective track records how robust their ecosystems are.

    It is missing a few features still (e.g.plugins) but I have been using helix for a while and it is really fun.

    Which is another concern 😅. For whatever it's worth, I believe Lapce to be more promising.

  • I think that one of emacs’ surprising great points is that there is a plugin for a lot of smaller languages. If you’re working with a language that has no special text editor love at all you’re likely better off using vim but if the language authors made a plugin for their language, it’s likely either going to be for emacs or vscode.

    Very interesting. I didn't know that Emacs was better at providing plugins. Would you happen to know to what that is attributable?

    Spacemacs has a bespoke customization system involving layers that is not all that friendly towards copy & pasting code from the internet. Doom emacs customization leans more to the vanilla side which can help if you need to solve a problem in your workflow.

    Did I understand you correct in that customizing Spacemacs is a completely different beast. So knowledge acquired related to it doesn't translate well to Vanilla/Doom Emacs and vice versa?

  • I tend to use both, depending on the situation, with a lighter nvim config. Sometimes the 3 second emacs startup time is annoying so I use vim then. I think its fine to try both.

    Could you elaborate more upon your workflow? Like, in which situation do you prefer Emacs and when do you prefer Neovim? I get that the lighter option is preferred when you want to perform a quick edit or can't be bothered with startup time. But I want to know it beyond that and -if possible- what led you to favor one over the other in each situation.

    Regarding emacs declining popularity, I think that in the long term it could be a problem, since most people don’t want to learn elisp just to configure their editor. Elisp is very powerful in emacs, but its design is very different to other languages, so as emacs contributors get older, it could possibly lead to less and less new contributors.

    How do you envision Emacs' future? Would, at some moment in the future, some kind of compatibility layer of sorts be developed that lower the entrance barrier? To my knowledge, Emacs has -contrary to Vim- been more open to community development. So I don't expect something like NeoVim to be developed for Emacs as there's less need for it. But I don't know how much they'd be willing to change Emacs for the sake of making it more attractive for new users.

    Idk about the vim distros, but I think Doom Emacs is easier for beginners to get into.

    Compared to Spacemacs I assume*. If so, would you mind elaborating?

  • Since childhood, they wanted to become the head of a bank; this wish -however- was more rooted in the (childish/immature) association that being at that position should mean that they've made it (monetary-wise). So, they started Finance with the belief that it would be the best step to attain that goal. Furthermore, I believe they had misinformed ideas on what studying Finance was at the time 😅,

  • I appreciate your input. Thank you!

    Also, there are too many plugins to serve the same purpose and I found it difficult (compared to neovim) to figure out the difference between them.

    Interesting.

    Finally, the level of customization was also less granular than what offers neovim.

    Very interesting. I'd love to hear more about this. Could you elaborate?

    I would add that neovim and emacs both have a steep learning curve but I personaly found the level of support and core and plugins documentation for neovim more accessible, readable, and better organized.

    I wouldn't be surprised if this is in part attributable to the fact that Emacs is both an older project and is generally-speaking a bigger and/or more capable piece of software.

    I completely share your vision about what an IDE should be doing. I’m old school and adhere to the “do one thing but do it right” philosophy. Also, I hate relying on one tool for several needs because if anything goes wrong it has multiple impacts.

    I've often heard Emacs users pose the argument that Emacs as an Elisp interpreter does just one thing. It's just that this single thing allows the myriad of functionality it offers. So in that sense comparing it to a terminal/console seems more apt than comparing it to a text editor. I wonder what you think of that argument.

    As a side note, I use neomutt as my email client and you can nicely couple neovim to it to write your emails ;)

    Hehe, that's cool! Currently I'm really happy with Thunderbird so I don't expect to move away anytime soon, but I'll keep it in mind.

  • I use Emacs + spacemacs in VI mode as a base for all my text editing

    Do you specifically prefer using Spacemacs as a base over Doom Emacs? Or is the usage of Spacemacs primarily attributable to it coming earlier to the scene?

    Furthermore, as you're using it in "VI mode", would it be fair to assume that you've got some experience/history with Neo(Vim) as well? If so, what led you to making the switch from (Neo)Vim to Emacs?

    For dev environments I mostly use nix + direnv + direnv-mode.

    Very interesting! Relying on Nix rather than Distrobox has been something I've been pondering upon. But besides the fact that I'm still very new to Nix as an ecosystem, I've also got my concerns related to what degree the containers can be sandboxed. Do you happen to have some insights on this?

  • Hi!

    I’ve briefly shared my experience with neo(vim) and emacs here.

    Thanks for sharing that! I've just read through it and it was a very interesting read. Would you mind elaborating upon the following statement?

    "the lack of uniformity across plugins coding which sometimes created some conflicts"

    I think the main factor of choice would be to know if you prefer to build your own perfect tool with just what you need and expand as you go (i.e. neovim) or just have a do-it-all ready tool right out of the box (i.e. emacs).

    That is indeed something that concerns me regarding Emacs. Like being able to surf on the internet or using it as a email client isn't quite what I expect out of my IDE 😅. I guess the extensibility should allow 'minimal' installations, but this is something I should read more into. Thanks for pointing that out!

  • How long did you try using Vi (or any other "mode-switch vietnam-era editors with cult like followings")? Have you experimented with any starter kit/distribution/config (or whatever) to ease you in? What do you use now?

    Btw, I agree that stand-alone Vi probably is too far of a departure from modern IDEs. As far as I know, it's not even possible to give it IDE-like functionality apart from a few basic ones. Both Vim and especially Neovim do a better job at bridging the distance. FWIW, Vim only exists like for three decades now, while Neovim's first release happened in 2014; almost 10 years ago.