4 ms·
This sounds like a comedy hack but isn't. I tried it out for a lark and now it's been my only wm for 3 years. Absolute genius.
by omnicognate 6y ago
This sounds like a comedy hack but isn't. I tried it out for a lark and now it's been my only wm for 3 years. Absolute genius.
- rusticpenn 6y agoI should try this out on my home pc.
- segfaultbuserr 6y ago> This sounds like a comedy hack but isn't. A true comedy hack could be running and editing files in gvim, but to manage gvim's windows in Emacs.
- harrygeez 6y agoyou could just run vim in eshell
- dan-robertson 6y agoNot really. You could run ex I guess but that would be awful. I suppose you mean running it in M-x term.
- alpaca128 6y agoVim doesn't run in Emacs' terminal because it doesn't have ncurses support. It is possible to start Vim inside Vim's terminal buffer, but it's often not usable, as the outer Vim tends to catch all the input. I usually tend to remember that after I ran `git commit`...
- terinjokes 6y agovim is definitely runnable in emacs's vterm, which is more similar to the terminal in Vim than any of emacs's shell, eshell, or eterm modes. As an evil user, I tended to remember this after I ran `git commit` and then try to remember how to pause evil so I could address vim. (I now use `with-editor` to set $EDITOR back to the parent emacs, and have mostly switched to magit)
- sea6ear 6y agoAt one point before Spacemacs was a thing, I had my 'stupid Emacs trick' - I had set up keybindings to invoke Vim as an external editor for Emacs. It took an open buffer and opened ansi-term and executed Vim on the file from the original buffer. I got some perverse pleasure in running Vim in my Emacs instance. I don't remember if I got as far as saving non-file buffers as temp files so they would be accessible to Vim or not. That would have been the next logical enhancement. Maybe it would also be possible to pipe the buffer directly into Vim? I'm not sure if Vim would display in the foreground if you did that or not. I feel like I've had situations where piping things into Vim managed to wedge it in the background, but some of that was on Windows where console process communication is a wasteland of broken dreams.
- smitty1e 6y agoEssentially => https://github.com/timor/spacemacsOS https://github.com/timor/spacemacsOS
- samvher 6y agoWhat makes it worthwhile to you? It’s not entirely clear to me from the page what features set it apart. I guess part is familiar keybindings if you’re an emacs user? The screenshots look like it does some tiling, is that a good experience? I use i3 so would be curious to know how this would compare.
- skulk 6y agoEvery X window is a buffer, so you have all of emacs's powerful buffer switching programs (see: ido, helm [1], ivy [2]) for focusing windows. Also there are multiple interesting solutions to managing window splits [6], moving windows [3][4], saving their configuration [5], etc. [1]: https://github.com/emacs-helm/helm https://github.com/emacs-helm/helm [2]: https://github.com/abo-abo/swiper https://github.com/abo-abo/swiper [3]: https://www.emacswiki.org/emacs/WindMove https://www.emacswiki.org/emacs/WindMove [4]: https://github.com/abo-abo/ace-window https://github.com/abo-abo/ace-window [5]: https://github.com/Bad-ptr/persp-mode.el https://github.com/Bad-ptr/persp-mode.el [6]: winner-mode, one of my favorite things. https://www.emacswiki.org/emacs/WinnerMode https://www.emacswiki.org/emacs/WinnerMode
- leveleer323 6y agoInteresting side note, WindMove was originally authored by founder of wiki leaks Jullian Assange.
- omnicognate 6y agoIt's primarily useful to people who already use emacs a lot, I think. Not sure I'd recommend using emacs just for EXWM, as some people seem to do with magit or org-mode. The main problem it solves is that emacs is a tiling window manager (in a loose, non X-specific sense), so if you spend the majority of your time in emacs it gets quite annoying that you're having to use two different paradigms to manage windows: one for managing emacs "windows" and the "buffers" that they "visit" and one for managing X windows, of which emacs itself is one. EXWM makes X windows behave (mostly) as if they are emacs buffers, so you can use the same powerful tools to manage them. As an example, I use ivy (https://github.com/abo-abo/swiper https://github.com/abo-abo/swiper) so for switching between buffers I get a nice incremental fuzzy-matched buffer list. With EXWM that same buffer list also contains my web browser and other X applications. I've written a toy window manager so I have some sense for what making a real one would entail. I've been using emacs for 20 years or so, so have some insight into that. I am in awe at the dedication and attention to detail it must have taken to turn EXWM from a crazy idea into a solid WM that is completely usable as a daily driver.