11 ms·
Frontmacs
- forvelin 9y agoSome screenshots could be nice, probably most people are not tend to try it out until they see a screenshot. Anyway, I am a simple man. I see people using Emacs and I become happy.
- andanotherthing 9y agoAgree! I am not a developer or an overly technical person and I recently started using Emacs because of an article here (using ido and org mode). I like it but I'm not fluent enough, or know enough of what it does to switch to it for everyday tasks - but there's a beauty in navigating file systems, creating files, switching windows all with your keyboard. Does anyone know if you can actually write code on Emacs, like HTML/CSS/Javascript?
- hultner 9y agoIf you mean using emacs as your code editor then yes, that's the main purpose of emacs for most users. However there's other hidden eastereggs such as M-x pong, M-x tetris or why not try M-x doctor if you're feeling a bit down.
- pksadiq 9y ago> M-x doctor if you're feeling a bit down. Yeah. M-x doctor is really helpful, especially when you are depressed. For example, if you say the doctor that "I'm going to suicide", it will guide you the right way.
- declanqian 9y agoActually this link is all about write front code in Emacs, that's why it's named `frontmacs` I guess. Yeah, currently I am write frontend code inside emacs. Nothing special. I just used few major modes. js2-mode/web-mode/css(sass)-mode, there is typescript mode. Only for syntax highlighting. I don't use auto-complete thing.
- aerique 9y agoDoes anyone know if you can actually write code on Emacs, like HTML/CSS/Javascript? Do you mean modifying Emacs while it is running? If you switch to the "* scratch * "[1] buffer and type one of these and after each of these either press «Ctrl-J» or «Alt-x eval-print-last-sexp»: (message "Hello, World!") (setq cursor-type 'hbar) (setq cursor-type 'box) (setq indicate-empty-lines t) (setq show-trailing-whitespace t) Is this what you meant? [1] I have no idea how to get a normal asterisk on HN.
- deleted 9y ago[deleted]
- giancarlostoro 9y agoYour question seems to confuse some, do you mean run elisp interactively or edit HTML/CSS/JavaScript? If so I want to say yes to both.
- gilmi 9y ago> Does anyone know if you can ... on Emacs? Yes.
- bhrgunatha 9y agoI will (almost certainly) never switch from my current configuration to use any of these all-in-one package bundles, but I do like looking through them for ideas.
- TeMPOraL 9y agoSame here. My Emacs is always on configs of my own, but I do mine other peoples' configs for ideas like crazy.
- cup-of-tea 9y agoYeah, me too. I also love watching people use emacs. There's always something neat that I haven't seen before. Unfortunately that is a very rare pleasure for me. I've only seen emacs in the wild a few times and mostly they were old professors using it with the standard configuration.
- jsilence 9y agoMaybe we should make this a thing on twitch
- johnbellone 9y agoI had a configuration that I was nursing along for several years, but after seeing Prelude [0] I realized that it would be much simpler for me to let the community to most of the work for me. Now I have a consistent environment for most languages and I am able to make small tweaks on top. [0]: https://github.com/bbatsov/prelude https://github.com/bbatsov/prelude
- jimyl 9y agoYes, me too. I can always learn something new by reading others' configs.
- Robdel12 9y agoHi forvelin! I'm one of the devs that helped create frontmacs. This is a great idea and something I generally like doing. I do it on my own emacs config: https://github.com/Robdel12/.emacs.d https://github.com/Robdel12/.emacs.d Judging from the comments we didn't do a very good job at messaging that while this is a starter pack, it's also meant for you to build on top of and customize. My config does not use the default theme and tweaks a couple of settings. We intended frontmacs to be something _like_ prelude but make updating the core packages easier (rather than pulling in the changes from upstream & solving merge conflicts). We wanted nice defaults that you could then build on top of.
- bcfurtado 9y agoSame here. I always feel a bit disappointed when I see an Emacs package without a screenshot or a gif.
- vog 9y agoSlightly off-topic, but: > Most of the planet doesn't treat editor configuration as software. We do. This is so true! And it applies to many, many other types of configuration as well.
- hiker 9y agoReminds me of the evolution of Lua https://www.lua.org/history.html https://www.lua.org/history.html from a configuration language to a full blown programming language. Awhile ago, we've used this code as data approach in a game development studio for everything. For example, maps/levels were stored as a Lua scripts that get executed on load and contain a sequence of PlaceObject, SetProperty, etc invocations. It doesn't come without drawbacks, though. For example, Autodesk Maya stores scenes as Mel code (as a bunch of createNode, connectAttribute, setAttribute commands). This script gets executed on load in a single thread (utilizing a single from your N cores) and scene loading can take ~30 min on large scenes. Security is also an issue but it's fixable with proper environment sanitation and sandboxing.
- vog 9y agoThis is an interesting aspect, but slightly different from what I had in mind. Just because you treat data as code doesn't mean you have to force it into a Turing-complete language. It just means that you should document it, format it properly, put it into version control and deliver it for deployment. Moreover, Turing-complete languages are more of an anti-pattern here. The proper design pattern here is the Rule of Least Power: https://en.wikipedia.org/wiki/Rule_of_least_power https://en.wikipedia.org/wiki/Rule_of_least_power It means you should choose the least powerful language suitable for a given purpose. And this is where DSLs or "data as code" can play its advantages: Not just makes it things shorter and simpler, but you can also force it into a less powerful language, which allows you to eradicate certain types of bugs and security issues by not making them even expressible anymore. Moreover, you can run your data structure through different "interpreters" doing different things with it, which is completely inpractical of your data structure describes a too powerful language.
- cup-of-tea 9y ago
- Zitrax 9y agoIt claims to be "Awesome by default", but does not tell much about what that actually means.
- andrewem 9y agoI think what they mean is it's fully set up, so that if you've never used Emacs and you start using it, you won't encounter the situation where something stinks and your friend who's an experienced Emacs user says "oh, you need to customize such and such." So, "awesome by default" rather than "awesome after many hours of learning about and applying configuration changes." (I have no idea whether what they've done would meet that criterion for a large number of potential users.)
- fergie 9y agoI think (and I say this with love) that any sane person who starts using emacs will find it infuriating- its part of the appeal.
- emidln 9y agoThat wasn't my experience with Spacemacs. If it was infuriating to use, I would have immediately gone back to my well-oiled .vimrc.
- slurppurple 9y agoSo true. I recently started using it while learning common lisp and it is really fun and really frustrating
- gtsteve 9y agoIt installs vim.
- rootlocus 9y agobooooo! /s
- 9y ago
- vr46 9y agoGreat approach. Now what does it do? (Or rather, what can I do with it specifically compared to other distros, and how?)
- skocznymroczny 9y agoSo many buzzwords and startup like speak but no "made with love"?
- pdkl95 9y ago(edit: reposted this comment in their bug tracker) You might want to warn people that this enables auto-saving buffers on many buffer/frame events that are usually considered safe. https://github.com/thefrontside/frontmacs/blob/master/frontmacs-editing.el#L128 https://github.com/thefrontside/frontmacs/blob/master/frontm... (defadvice switch-to-buffer (before save-buffer-now activate) (when buffer-file-name (save-buffer))) ; the same defadvice is applied to: ; other-window ; windmove-{up,down,left,right} This absolutely needs a warning. (add-hook 'focus-out-hook (lambda () (when buffer-file-name (save-buffer)))) Also, maybe this should only happen to buffers that are already backed up in the VCS? Saving unknown changes back to the original file whenever the frame looses focus - which can happen due to external, unpredictable events - seems like an accident waiting to happen.
- maaaats 9y agoAs a general fileditor, it may be scary, yes. But I have this in IntelliJ and love it. Saving is just a useless keystroke for most of my development time. Things are in VCS, and if not, I can also use local history to roll back.
- jeremyjh 9y agoLocal history is the feature that makes this practical. Without it, there will be blood spilled.
- dkersten 9y agoI don’t agree. I used IntelliJ for work for the past two years and I’ve never had any problems with auto saving (in fact, I find it quite convenient, although muscle memory means I still do :w with my vim bindings) and I’ve never seen ever used the local history feature.
- pksadiq 9y ago> (defadvice ... For your information, defadvice is deprecated[0]. Alternatives like advice-add can be used instead. [0] https://www.gnu.org/software/emacs/manual/html_node/elisp/Porting-old-advice.html https://www.gnu.org/software/emacs/manual/html_node/elisp/Po...
- grewil2 9y agoMy prefered way to quickly test these things without having to mess with your own setup, elpa directories etc: mkdir /tmp/.emacs.d wget -P /tmp/.emacs.d https://raw.githubusercontent.com/thefrontside/frontmacs/master/scripts/init-frontmacs.el echo '(load (expand-file-name "init-frontmacs.el" user-emacs-directory))' > /tmp/.emacs.d/init.el env HOME=/tmp emacs
- cup-of-tea 9y agoI have mixed feelings about emacs starter kits. On the one hand I'm always happy that more people might discover emacs. It's quite simply the most powerful text editor out there. Hands down. I could not imagine using a computer seriously without emacs. On the other hand, the power of emacs comes from the fact that it's essentially a lisp interpreter which is good at doing text editor stuff. If you abstract this away then what you get is an editor which is implemented in emacs, but is ultimately comparable to any other text editor. Emacs really shines when you make it your own. And that goes far beyond the usual "customisation" that you see. I have files full of macros that help me write lisp which eventually changes the way the editor works. And some of that functionality helps me write the macros that help me write lisp that (...and so on). For those that don't use emacs the above might sound bizarre. Maybe it's only attractive to a few programmers. Or maybe you have to try it before you really understand. I don't know. But that's why I have mixed feelings.
- declanqian 9y agoThey treated the whole frontmacs as a package and put it on https://elpa.frontside.io/ https://elpa.frontside.io/ , I don't know whether it's good idea. Actually I proposaled the same concept for spacema\ cs, doesn't got approved back then. So this is not a starter kit I guess?
- giancarlostoro 9y agoI use Spacemacs but it isn't always perfect and if Spacemacs doesn't wind up working I end up just using vanilla emacs because MELPA is a dice roll whether it will work or not every single time for me, usually regardless of OS. I just know enough basics of emacs to edit code, but I wish adding packages didn't involve so many hoops such as having to add a repository that everyone already goes out of their way to add to emacs and having said repository fail on you. I'm not sure what reason the emacs team has for just not adding MELPA but it would change the game for me if it were an official addition and would require it's addition to work out of the box. Till then, emacs is a long way away from being my default editor, and VS Code and JetBrains are more of my defaults. Out of the box functionality is key for any editor in my opinion.
- nukeop 9y agoAfter years of using other people's configs, I found that they never really fit my way of working completely and they're filled with things I don't understand and/or don't use. I think most people will want to use their own configs after a while, and that's one of emacs's greatest strengths. Nowadays we have multiple package repositories and multiple ways of configuring it to suit your tastes. I also find the description filled with buzzwords and buzz-phrases to the point where it becomes meaningless.
- jimyl 9y ago> I think most people will want to use their own configs after a while "after a while". Agree. I think they are called "starter kits" for a reason :). > I also find the description filled with buzzwords and buzz-phrases to the point where it becomes meaningless. I have looked into their config today. Nothing very amazing, but indeed a better default experience. It's much simpler (compared to Spacemacs) which I think is more beginner friendly.
- wyuenho 9y agoThis is very similar to what I have configured in my .emacs[1] and custom.el[2]. I like that this project is minimalist. If I were to start using emacs 2 years ago, I'd probably start with this. A slight gripe I have with Frontmacs is everything is loaded eagerly on startup. I'd imagine this massively increases start up time given how heavy weight some of the packages are (yasnippet, magit, tide). I also find issues with it calling itself awesome without integrating with any emacs window management package. Most config in emacs these days is just installing a couple of packages and toggling on and off a couple customizable variables, and occasionally a couple of `add-hook` calls. These are all low hanging fruits since packages became an official thing in Emacs. The most annoying and non-obvious part of Emacs is how it manages windows. To tame the totally insane default window management system, you pretty much have to shop for a layout manager of some sort, and in order to do that, you have to know what Emacs is doing under the hood. That's hard and I wish more of these Emacs distros would come integrated with some sane window management package. I used to just rely on popwin and desktop mode mainly, and used golden-ratio and centered-window-mode for a while. Recently I've completely ripped them out of my config and replaced them with [purpose](https://github.com/bmag/emacs-purpose https://github.com/bmag/emacs-purpose) and [perspective](https://github.com/nex3/perspective-el https://github.com/nex3/perspective-el). I'm loving them so far, others seem to like e2wm, tile, rotate and others. [1]: https://github.com/wyuenho/dotfiles/blob/master/.emacs https://github.com/wyuenho/dotfiles/blob/master/.emacs [2]: https://github.com/wyuenho/dotfiles/blob/master/.emacs.d/custom.el https://github.com/wyuenho/dotfiles/blob/master/.emacs.d/cus...
- finnjohnsen2 9y ago"Most of the planet doesn't treat editor configuration as software. We do." But I also wanna be the cool kid, and not a part of the herd :'(
- deleted 9y ago[deleted]
- mcguire 9y agoWhat is the difference between this and spacemacs?
- gyrgtyn 9y agoDo any of the frontside people use evil mode ?
- Robdel12 9y agoI don’t believe so. We usually recommend spacemacs for that. (They do an excellent job with their config)
- Myrmornis 9y ago> We don't want to maintain code, we just want to enter a few keystrokes and download more awesome. The phrase "download more awesome" makes me very strongly doubt whether the authors are genuinely experienced with the difficulties of software engineering.
- crimsonalucard 9y agoClearly they are. One phrase like that has no bearing on someone's experience.