Live data from Hacker News

SpaceVim – Like Spacemacs, but for Vim

spacevim.org

171–180 of 186 posts

Re: SpaceVim – Like Spacemacs, but for Vim

#171

Earlier quoted context omitted.

I didn't know Spacemacs would automatically build and run things in one click. How do you create a project in spacemacs? Is there a simple text-based UI for it?

that question doesn't even make sense. What is a "project"? My Rails project is going to look radically different than someone's Go project, than a Rust project, than an iOS / Swift project.... if you're talking "project" in the Atom / Sublime / Eclipse sense of the word then a "project" is just a folder. If that's what you mean by "project" then yes, you can create folders in a text-based ui, and you've been able to…

If the idea of project creation isn't standardized in UI presentation then it isn't an IDE.

Re: SpaceVim – Like Spacemacs, but for Vim

#172

Earlier quoted context omitted.

At risk of putting words in the another poster's mouth, I don't think the idea was that a distribution needs to have changes to binaries, just that it has to include the whole thing. I think the notion is that since you don't get your build of Emacs as part of Spacemacs, Spacemacs isn't a distribution of Emacs. I tend to agree. I think it could be a distribution of Emacs even if it were just upstream Emacs plus a sim…

More info on this here: https://github.com/syl20bnr/spacemacs/blob/master/doc/FAQ.or... Can found more explanations on reddit for the bravest :-)

Thanks for reply. I like your idea of spacemacs. and what do you think of SpaceVim

Re: SpaceVim – Like Spacemacs, but for Vim

#173
post #129

Earlier quoted context omitted.

I was in a similar boat. The reality for vim is; generally, the syntax checkers and code completion plugins are hacks, honestly, go read the source code. When I did I was aghast that people were using and promoting them (specifically the java plugins). It's been a couple of years so take this with a grain of salt, imho etc. I think if one really want's to pick up vim (or emacs) you have to set aside the IDE part of y…

I've always suspected that the fastest way to learn vim is to install the default and not copy someone else's ~/.vimrc at first. Edit it whenever you need some specific functionality, and edit often. Also read the :help docs a lot. But I admit it would be nice if the vim project shipped a sane default setup that was aimed at the average programmer.

Late edit to the above: I was wrong and outdated about defaults. Someone just reminded me that Vim 8 now comes with better default config.

Re: SpaceVim – Like Spacemacs, but for Vim

#174

Earlier quoted context omitted.

I wish people stopped calling a shared config a 'distribution' In both Spacemacs and Spacevim, all that's being provided is a config. No runtime, no package manager, no changes to the actual binaries of either app. It's hyperbole.

^ someone who hasn't used either (or at least, not more than a few minutes)

[deleted]

Re: SpaceVim – Like Spacemacs, but for Vim

#175
post #37

Earlier quoted context omitted.

It's a distribution, bundling vim with a whole bunch of plugins and configuration that's supposed to work out of the box. Spacemacs is the same for Emacs.

I wish people stopped calling a shared config a 'distribution' In both Spacemacs and Spacevim, all that's being provided is a config. No runtime, no package manager, no changes to the actual binaries of either app. It's hyperbole.

Not familliar with SpaceVim (yet) so I can only speak for Spacemacs. Emacs has really bad support for writing modular code (~/.emacs/init.el), and Spacemacs adresses this issue. Also a lot of work went into integrating various packages and modernizing emacs experience. To give an example, Spacemacs out of the box had 90% of features that my custom-crafted ~2kloc config file did. And I find the (new) shortcuts so intuitive that I am considering adding them to my vimrc.

> No runtime,

Spacemacs loads your config (very fast I might add), adds a nice startup screen, gathers statistics about your config etc.

> no package manager

It also bundles use-package - which is a package manager. And makes bootstrapping emacs on a new machine trivial.

> no changes to the actual binaries of either app

Remember this is emacs. You don't need to rewrite any part of it, you can change anything with advices/hooks, and it is actually easier to do than patching some random packages.

Re: SpaceVim – Like Spacemacs, but for Vim

#177
post #106

Earlier quoted context omitted.

Assuming script being fetched by cURL is hosted using HTTPS that is reasonably well configured it basically provides the same guarantees. Unlike a distro package you can also just -not- pipe it to the shell immediately and actually read it. Even if you did unpack every distro package source before you installed it with the amount of crap and boiler plate you would almost never be able to work out -exactly- what it wi…

> Unlike a distro package you can also just -not- pipe it to the shell immediately and actually read it. IDK about other distros, but for the one I use (ArchLinux) it's trivial to inspect the install script, and they (PKGBUILDs) are usually well structured and easy to read.

Unfortunately the majority of package managers are bloated and awful. Pacman/PKGBUILD and emerge/ebuilds are notable exceptions, though there is also Nix and many super simple based tarball systems that are also very good.

But all of that is irrelevant when 99% of the Linux world is running RPM/APT.

Re: SpaceVim – Like Spacemacs, but for Vim

#178
post #139

Earlier quoted context omitted.

I am interested. How does ad-hoc package management on macOS improve over "Linux" ad-hoc package management?

Well, linux doesn't have adhoc package management. Because there is no standard packaging format between distributions, the best people can do is release a deb that may or may not work on either debian or ubuntu. Or an RPM that may or may not work on RH/Fedora. Or a tar.gz that will contain sometimes source code, sometimes a binary, and if it has source code there's no clear way to compile it, if it has a binary ther…

I guess I do not understand the manner in which you use "ad hoc" to refer to package management.

It seems as though you are now talking about cross-distribution package management. It is further confusing that you are contrasting all "Linux" to the single distribution macOS.

To me the term is "ad hoc" current w.r.t. NixOS , GNU Guix and other purely functional systems, and there the distinction is made between:

1) declarative -- in which a rebuild of the system will ensure the package is present and configured as expected; and

2) ad-hoc -- in which the user can affect all of the system with side effects and rebuilds will not result in the same state.

Why would you want to allow users to randomly and aribitrarily affect all of the system and end up in an unknown state? Isn't that exactly what curling shell scripts achieves? And what method does macOS implement in order to avoid this?

If all you're talking about is cross-distro package management then you and your users can either give up on this and standardize on one OS and just pony up the cash for RedHat (same as you do for macOS) or else start writing Flatpaks.

Re: SpaceVim – Like Spacemacs, but for Vim

#179

I started using Spacemacs recently for its out-of-the-box IDE-like features but the layers' functionality seems to be fairly hit-or-miss and overall the impression is one of a bug-infested nightmare. Every time I try to set up my environment on a new machine, I get some new set of problems that I have no idea how to solve (disappearing powerline, broken neotree, weird projectile caching behavior totally breaking my w…

There's a lot of factors here; were you on dev or master? What I suggest doing is using dev, but pinning yourself to a particular commit. Once you see that things are working, using that commit across all your machines. You can have a fork that you never push to, except to fast forward when you feel like upgrading. Just pull from that fork on new machines instead of from the main repo.

The only other thing that can break you other than updating spacemacs is updating packages, but that's a factor with vanilla emacs and with vim. This happens occasionally but not too often.

Also keep in mind: spacemacs is not all or nothing. There are many, many layers that are higher in the dependency tree, that both get less attention and are easier to swap. For instance, even though I mostly develop in C++, I don't use the C/C++ layer from spacemacs. There were things I wanted that were missing (like rtags), and things that I didn't want that were there (like older tags solutions).

I started out by just configuring rtags inside a single simple file, the same way a vanilla emacs user would, and I dropped the C++ layer. I eventually added more stuff and wrote my own C++ layer. I'm quite happy with the result. I still got a ton of useful layers/packages from spacemacs that were easily setup and configured, like evil, magit, helm, company, flycheck, etc. And the whole layer system itself made even the parts that I customized myself more modular.

Post reply on HN