More updates! I'm feeling really productive today as I have time to deal with some of my own stuff for a while before next week. Soβ¦ I set up a second Time Machine backup on my server. All using #Emacs, I used #tramp to log into my server, change smb.conf to add the second backup drive, restarted smb with #vterm inside of emacs, and then set up Time Machine's second drive to back up to! Time taken: About 2 minutes tops. ππ©πΌβπ»
#emacs #tramp #vterm #macos #linux #raspberrypi #backup #timemachine
π΄ Today on #SystemCrafters Live, we'll take a look at a few different options for using Emacs as a shell or terminal emulator: Eshell, vterm, and Eat! We'll compare them to find the overall best experience in terms of speed, terminal emulation quality, and efficiency of use.
Join us on YouTube or Twitch:
- https://youtube.com/live/HG7pVCa0DVY
- https://twitch.tv/SystemCrafters
- https://systemcrafters.net/live-streams/july-28-2023/
π in your time zone: https://time.is/compare/1800_in_Athens
#gnu #emacs #eshell #vterm #eat #terminal #shell #freesoftware
#systemcrafters #gnu #emacs #eshell #vterm #eat #terminal #shell #freesoftware
Hmmm, vterm in emacs these days is pretty great. I can even ssh around, run btop... All in an emacs buffer (and all that that gives me).
Also my use case of #Emacs is specific: While I do some programming, it mainly is my "operating system" that I use all day long, i.e. I read my email in #Gnus, I use some #orgmode, I use #ses as spreadsheet, #eshell and #vterm are my main shells etc.
But anybody with more in-depth knowledge about #DoomEmacs vs #Spacemacs should please chime in and feel free to correct me.
2/2
#emacs #gnus #orgmode #ses #eshell #vterm #doomemacs #spacemacs
If you using emacs, vterm, and R, you probably want to add
options(cli.hyperlink = FALSE)
to your .Rprofile.
Hyperlinks aren't (currently?) supported in libvterm, so they'll look like garbage (compare images)
Excuse all my warnings...I'll get to them. Eventually.
@gabrielebozzola Maybe that conversion is slow, but the current bottleneck is flickering. #Vterm is about 1.5 times faster than #Eat, but Vterm wastes time doing redisplaying while #Eat uses that time to process more output. That's why #Eat is faster. But once #Vterm fixes that, I'm sure it will be much faster than #Eat.
@akib I absolutely agree that #vterm redraws the window lots of times. I had some annoyances with this as well. This is an important step in the vterm pipeline because it is used to sync the internal state in libvterm and the one that in Emacs. Interestingly, vterm could be much faster than it is and one of the main bottlenecks is pushing back and forth the Emacs and C representations (e.g., of strings). This is one of the limitations of dynamic modules.
@gabrielebozzola By flickering, I mean useless redisplays. Programs send their output in small chunks, and if redisplay is triggered after each update, that causes flickering. I don't have any example that shows the problem clearly to human eyes, but try to run emacs -nw in Term mode and split window horizontally, with a sufficiently customized #Emacs you should at least see the cursor dancing when you scroll. For me, even #Vterm flickers, but maybe that's due to my machine being a bit slow.
I have written a new #Emacs #TerminalEmulator, #Eat. It can also be embedded in #Eshell, my favorite shell. It supports mouse, clipboard. And on my computer, it's faster than #Vterm in most cases, because #Eat flickers much less. I started it more than three months ago, and now I'm using it on daily basis for about a month, and it works fine.
README: https://codeberg.org/akib/emacs-eat
Blog post: https://akib.codeberg.page/blog/introducing-eat.html
#emacs #TerminalEmulator #Eat #eshell #vterm #terminal
@pkal @eightball @louis #ShellMode is undoubtedly great and when combined with #Coterm, it's better than #Vterm for me.
@ryuslash That feels cursed! Would like to try it, though π
As for the exact role of #vterm, I'm not exactly sure. Maybe @gabrielebozzola can enlighten us?
@schnouki if only I could run eshell in vterm, and have the awesomeness of a great terminal emulator and a great shell in one. Could something like that be written? Using eshell as the shell, but with the rendering done by libvterm? I'm not actually 100% what part of the process (lib)vterm handles.
#Vterm is much more performant than #elisp terminal emulators (#vterm is mostly written in C), so it won't block your Emacs. Iirc, I show a comparison in my EmacsConf 2020 "A tour of vterm" talk.
Also, with `vterm-copy-mode` (bound to `C-c C-t` by default), you can make the vterm buffer act like a normal buffer, and move around/copy with your usual Emacs commands.
Toot at me if you are having hiccups with #vterm, I'll be happy to help!