@dt: Terminal mode emacs instances can indeed leverage the server. Just use the -nw flag with 'emacsclient' (rather than 'emacs,' which is what you used in the demo). Greybeards like me (I started using emacs in mid-eighties) used it for years before there was a truly viable graphical mode. Terminal mode is still faster, and with a properly-configured terminal (or emulator) the fontifying ("faces") are just as effective. It's the "always-works" mode for emacs :-) Love the channel, keep on keepin' on :-)
Well, I must admit, terminal frontend is laggish if you have terminal (iTerm) fullscreen open and fontsize 10 which gives you 116+ rows and probably 200+ columns of text emacs must recalculate. I'm telling of course about Doom or Spacemacs whatever, and even if using very limited set of features on. But. I have all the world's power sitting in tmux+emacs, and the only one other app I have opened is Chrome :) Greybeards += 1
Running terminal-mode doom emacs in tmux with EVIL mode? Talk about playing Russian roulette with key bindings. I dare you to go one step further and run vim within terminal emulator.
Derek, Derek...it is 2 years after you started with Emacs that you explain these very important features, that many of us never heard of??? Time for you to rebuild a deep, complete, 8 or 10 part tutorial on Doom Emacs!
I was a vim user for quite some time but learned about doom emacs from DT when you started posting about it about a year ago. Had a rough start but now that I've got the hang of it It's awesome. Your videos were really helpful then to get me started and now I rarely use anything else. Everything except browsing and media is now emacs for me and rarely use terminal as well. Emacs (Doom) fulfills like 80% of my workstation needs
So a bunch of stuff I struggled with was a change of leader key, some vim targets and verbs that I didn't know how to port over and getting search results into a quickfix. I was super impressed with the vim emulation. Assuming you can cfdo, etc
The terminal version is great for when you have a development server and you only can ssh into it. I use this all the time and it feels like having a proper desktop app
You had me in the last part. I'm switching to emacs because of terminal side. I'm switching from vs-code because of option ssh-ing to my machine and have just one IDE. (on site I'd use vs-code, ssh = nano (simple for small changes, annoying for complex changes)) I'm glad you mentioned that it is fine for tty only access.
In many of your videos, I see you type the full path for programs that you have aliases for. At least in bash, you can prefix the program name with \ and it'll run the non alias command ;)
In ZSH, backslash escaping used to work, but then it stopped and now I just do for example `@ cat`, where I have ``` @ () { "$(where "$1" | tail -n 1)" "$@" } ``` defined in my .zshrc You telling me I should replace the where-tailing with `command`?
I can of have a weird masochistic love-hate relationship with emacs. I'll be drawn to using it for a while as my main editor, but then I'll get frustrated because I'm not good at using it. And then I'll be drawn to it again. Maybe I need to see a therapist. Whereas for Vim, we kind of have an understanding: used for limited editing , no fancy keystrokes, save and quite before anything serious might happen. Not as romantic but it works
You should have been using nano instead of vim. You don't require the latter for kid stuff like that. Always use the simplest tools you can afford to use for jobs, otherwise you're losing precious time learning what you never needed to learn. And let's not even start about Emacs ...
@@exnihilonihilfit6316 No, because vim works which better from an ssh client than nano does, and I don't have to worry about installing it first, as it's on every server. And really it's not hard to use at all when you stick to the basics. Emacs is quite a different matter though, I agree
Good tips, haven't used Emacs much. The terminal in the example with running process is not useless though, pressing ctrl-z and then typing 'bg' will set it free.
Trying using emacs as a terminal app, thinking it's more "true way" was my sin. And also the reason for me to quit. Thanks, Derek. I guess, I give it another try.
Can't agree. I use emacs in terminal for more than a year and I like it. I launch daemon on my server and then ssh in to it and use emacsclient, can't do this with gui. I don't like Tramp by the way
@@fgtdjkg I meant it from inexperienced user's perspective. Have you had any experience with GNU/Emacs or its forks before the point you've decided to run your text editor on remote machine?
Thanks DT! After 6 months of Emacs usage, I reached the same conclusion that first impression of Emacs is not doing it justice. It's like opening up xmonad, and tinkering with it for 10 minutes, and decide that it cannot do much. It just doesn't make any sense.
Sometimes i feel like the world sucks, you know? But man, at least i can watch DT, and that makes me feel nice, sincerely. Thanks man, i hope you will continue doing what you are doing for decades to come.
The biggest mistake is using emacs instead of vim! I'm only kidding, great stuff DT! I don't use emacs much, but you've made it appealing. Keep it up man!
I config emacs with more than 300 package with 1 second to load ❤ it is based in one guy i dont know his name for now, i think emacs with lisp better than neovim and lua and less just now i need to config eshell
In all fairness, emacsclient has it's issues. I can't tell you how many times I've tried to use the daemon mode just to have it wind up unable to exit cleanly does to recentf not responding, delaying my system's shutdown by 90s. This is much longer than just the time it takes to start up a fresh emacs session multiple times in the day.
Hej man...just want to say...I've been a vim user for a long time..and since your first doom emacs video..I got in love with it...and now it is basically my windows manager kkkk I can only thank you for the amazing content! ^^
Another tip, In evil-mode, Ctrl-Z will toggle evil-mode on and off, handy if you are running ssh in a vterm, and you have to edit a file remotely with vim/neovim
I use emacs -nw -Q when I am working as the root user. Emacs is capable of escalating to root to open files, which sometimes I do, but I wouldn't recommend using it because of emacs being open by design.
I don't understand why people worry about the fact that it take two seconds to load. It's just two seconds. I don't run the server because I don't always use emacs and I don't want it to consume memory when I am not using it. I am perfectly fine if it takes two seconds to load, because it is just two freaking seconds.
I'd just like to interject for a moment. What you're refering to as Emacs, is in fact, GNU/Emacs, or as I've recently taken to calling it, GNU plus Emacs. Emacs is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Emacs, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is an Emacs, and these people are using it, but it is just a part of the system they use. Emacs is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Emacs is normally used in combination with the GNU operating system: the whole system is basically GNU with Emacs added, or GNU/Emacs. All the so-called Emacs distributions are really distributions of GNU/Emacs!
hey DT, did you know if you have aliases of commands you can run those commands ignoring he preconfigured alias in your case you can run `\emacs` and that will run whatever your system things emacs is ignoring the alias ;)
The 'emacsclient' thing I discovered quite by accident not long ago. That's when I realized that I was probably doing some of this stuff in an inefficient way. Since then I started studying Emacs a little more - now I consider myself a Vim refugee who now uses emacs exclusively. I still like my Vim keybindings but, hey, that's what Evil mode is for, right? Other than that, you'll have to pry emacs from my cold, dead hands...
I used to code in standard IDEs then in my masters I had to start SSHing into a lot of systems. I picked up Emacs, and it feels wrong to have a standalone window for it. Is it user friendly? Probably not, but damn is it smooth.
Evil mode is a HUGE mistake new emacs users make. Learn to properly type regular emacs keybindings _with both hands_ and you'll see how good and ergonomic they are. No need for modal madness
In my server environment I used to use emacs in terminal mode. There is no X server, so why not. However I recommend to use the program jed in this case. It's kind of neat light emacs -nw clone.
All this GUI shugar is lost in remote ssh sessions. I prefer terminal version, which works the same way regardless of is it local or not. By the way I find terminal version of emacs is still great.
sorry, still going to do vim or vscodium for graphical. I don't need my text editor to do all this extra stuff, i just need it to edit text and do that single task well. with all these extra bells and whistles and what not that emacs has it just becomes cumbersome to use as just a text editor.
I had not heard of starting emacs daemon before. GUI emacs opens just fine without starting the daemon first. I guess the daemon opens when emacs is launched? Either way, if you launch daemon first then the client it will take about the same time, I assume. I am way used to GNU emacs now but may try Doom at some point. I am a happy bunny with the way emacs runs on my setup and always expanding the knowledge and packages. Thank-you DT
I've tried emacs a couple of times, and I have it install and configured, but I'm so used to using ranger as my file manager and opening terminals for everything that I can't seem to ever get use to it
Why would I want to run emacs though? I already have an operating system installed, and there's a pull request to get a kitchen sink in Firefox so I don't need that either
when i use doom-emacs, and enter org-mode, and do a * for the first header ... i just see a star after hitting the tab, it doesn't convert to that symbol that i see in DT's video ... what am i missing?
So rather than launch standalone emacs which take 1.7 seconds, you launch emacs-deamon which takes 1.6 seconds and then launch the client which takes ~0.5 seconds. Makes complete sense. Who needs a fast and responsive editor anyway? Not emacs users clearly. It's obviously much better to have to parse and interpret untyped code with every editor command then use fast compiled code. Also much better to emulate some features of a window manager within emacs than used a dedicated program designed for the distro/environment. It looks like you also have to use emacs' idea of a terminal rather than a standard terminal emulator to iter-operate within the emacs "system". You have the added bonus of juggling interacting configs for multiple distinct tasks within one programming environment rather than logically separating them. The Unix/Linux philosophy: Write a separate program for each specific task and transfer data between them will well-defined interfaces. Lispitis: The compulsion to rewrite every program in a slow untyped interpreted language with non-lexical scoping and no interfaces. Occasionally afflicts novice coders. Also see "spaghetti code".
alright dt, but HOW DO I SET UP A JAVA DEVELOPMENT EVIRONMENT IN EMACS???? I am new to emacs and doom emacs, I tried the (java +meghanada) and didn't like it so I wanted to set up java +lsp but my god is it confusing when normal documentation for how to set it up is for vanilla emacs and so the confusion is real when you want to do for doom emacs...
Hello, DT, thanks for your videos! Despite of you uploaded video explaining why emacs isn't bloated, i still think it takes too much responsibilities inside itself. I think that tmux+pure vim/kakoune fits into unix philosophy a bit better (btw, thanks for kakoune video) Emacs is good, but it's really os inside os, and when you using it means you not using all good alternatives
Totaal noob here. Never heard of eMacs. Got this vid recommended. But I don’t understand what eMacs actually is. Is it a text editor or I’m a interpreting wrong. I’m in it so feel free to get technical (Sorry eng not native language)
If using Doom Emacs, go into the init.el and find a section headed with ':term' And uncomment vterm. Uncomment eshell too if you want to play with it. Then run a doom sync to install those new plugins. The very first time you launch vterm, it will have to compile (takes a few seconds).
Also, in your init.el, look for a section heading ':emacs' and look for a line for ibuffer. I have mine set as (ibuffer +icons) which will give you some nifty icon fonts inside ibuffer.
On a rather fast computer (0.7-0.8 second load time on doom emacs) the daemon doesn't really do much in terms of getting a faster launch, but it takes up 180 MB of memory just idly. This seems wasteful. EDIT: I was WRONG!!! I don't know what was up on that day, but today I tried daemonizing emacs, and it truly does make a difference! Not just in the launch time, but also in the performance.
The same. Pluss you have magit and have access to the same session if using daemon. One drawback is that to use emacs in terminal you'll need to tweak it much more than vim. Once done the experience is the same. I use emacs in terminal on daily basis for more than two years
now I know this is kind of special, what I find offputting on emacs is, that I can not escalate emacs to have root rights inside from emacs. Let me elaborate. In a normal use case for me, I use vim for editing files on my system (not in home folder), say in /etc. So normally I do 'sudo vim /etc/whatever.conf. Sometimes I forget the sudo of course, so I close vim and do sudo !! instead. So, how do you do that on emacs with emacsclient? I start it up with emacsclient, then navigate to the file with the internal browser, notice I need root rights, than run sudo emacsclient (and have this stupid terminal window next to the emacs window again), then navigate to the file with the internal browser again?
Doom Emacs has some custom functions built into it: sudo-find-file (SPC f u) - opens the find-file prompt as root sudo-this-file (SPC f U) - opens your current file as root sudo-save-buffer (SPC b u) - saves current file as root
Hi , Dt i know it's not related , but today i've watched a youtuber who have been managed to corrupt his motherboard bios (but he dosn';t know) with windows 11 ; I thing you could make one more video how dangerous windows 11 is , because of the tmp module and many other things ; I am msging you because i don't want people to destroy their hardware with windows 11 , but i don't have the voice to cry it out. Please Dt do somthing !
Eli Zaretskii said in help-gnu-emacs: "You are not supposed to start Emacs more than once in a lifetime, so the startup time shouldn't matter at all." ;)
The client server concept of emacs has nothing to do with networking. Server and client run on the same machine. I think Unix Domain Sockets are used for the communication between client processes and server process.
I actually moved to doom emacs, thanks to DT of course. To be honest I was wondering why my emacs linting for Rust is a bit slow, probably that's why. I would appreciate it if you do Rust configuration tutorial, and I couldn't get font ligatures to work well, still have these weird characters, Nerd fonts on my OS, using +fira flag didn't solve it, tried to `M-x package install` `fira-code-mode` and I got "wrong argument number error". Still learning, but I already love it.
It is also just generally a bit slow to run rust linting because its got to work out all the ownership etc. Also it only runs when the file saves which gives an increased impression of lag. For getting it to work it should be as simple as setting up rustup so rust-analyzer is in your path and uncommenting the "rust +lsp line" in the doom config
@@06kellyjac Lovely rust community. I actually did all that, but still, there is some sort of delay, specially with big projects, it takes to seconds to catch a syntax error, two seconds to remove the error of corrected. Mostly I did something wrong somewhere.
imagine there are people who use vscode in a browser (electron) or atom. I think to compare emacs with vim is kinda dumb tbh.. it is quite the opposite
Thanks DT, I was doing it wrong the past three days since I was doing emacs from the terminal and I was really surprised that several things was not working well. I’m a vim user trying doom emacs for the first time and found org mode to be mind blowing feature that I started using straight away, slowly working my way to other emacs features 👍
Distrotube: "I've never told anyone that they're using their desktop environment wrong." Also Distrotube: "Yeah, so anyway you guys need to stop using preconfigured desktop environments and use your own config files and window manager."
The biggest mistake is not using Emacs.
vim*
@@rxn7 vi* :]
@@Zephyrus0 ed*
@@yuliusseraph4973 punch cards*
But muh VSCode ;_;
@dt: Terminal mode emacs instances can indeed leverage the server. Just use the -nw flag with 'emacsclient' (rather than 'emacs,' which is what you used in the demo). Greybeards like me (I started using emacs in mid-eighties) used it for years before there was a truly viable graphical mode. Terminal mode is still faster, and with a properly-configured terminal (or emulator) the fontifying ("faces") are just as effective. It's the "always-works" mode for emacs :-) Love the channel, keep on keepin' on :-)
All hail the Greybeards!
Love you greybeards but just as a note there is this mode called TRAMP that allows you to modify remote files in an Emacs buffer.
Well, I must admit, terminal frontend is laggish if you have terminal (iTerm) fullscreen open and fontsize 10 which gives you 116+ rows and probably 200+ columns of text emacs must recalculate. I'm telling of course about Doom or Spacemacs whatever, and even if using very limited set of features on. But. I have all the world's power sitting in tmux+emacs, and the only one other app I have opened is Chrome :) Greybeards += 1
100%. Plus all my dev interaction is always inside tmux which is far more worth than any of the GUI features for me.
Running terminal-mode doom emacs in tmux with EVIL mode? Talk about playing Russian roulette with key bindings. I dare you to go one step further and run vim within terminal emulator.
Startup time of less than 2 seconds is not a problem because you should never quit emacs in the first place.
I mean... it is the fastest OS boot time Ive seen.
Derek, Derek...it is 2 years after you started with Emacs that you explain these very important features, that many of us never heard of???
Time for you to rebuild a deep, complete, 8 or 10 part tutorial on Doom Emacs!
this this THIS
series for doom emacs would be AMAZING
This. The way he explains stuff is amazing. I learn a ton through him.
I was a vim user for quite some time but learned about doom emacs from DT when you started posting about it about a year ago. Had a rough start but now that I've got the hang of it It's awesome. Your videos were really helpful then to get me started and now I rarely use anything else. Everything except browsing and media is now emacs for me and rarely use terminal as well. Emacs (Doom) fulfills like 80% of my workstation needs
So a bunch of stuff I struggled with was a change of leader key, some vim targets and verbs that I didn't know how to port over and getting search results into a quickfix. I was super impressed with the vim emulation. Assuming you can cfdo, etc
You're like the exact guy that luke smith talked about as the reason that he wont learn emacs lol
The right way to use Emacs is to forget everything you learned about Linux and make Emacs to your operating system.
It's more about the interfaces, not the system underneath them.
That's a bad idea. Emacs can't be better than native OS utilities. For example, emacs terminal is awfully slow, even vterm.
@@fgtdjkg You shouldn't take joking, bull$hit statements like that so seriously...
I don't consider not running server as mistake. Seriously, fighting about 2 seconds launchtime?
The terminal version is great for when you have a development server and you only can ssh into it.
I use this all the time and it feels like having a proper desktop app
I started using emacs yesterday, great timing to upload this video!
You're gonna quit it tomorrow, with a lot of wasted time (life) behind you …
You had me in the last part. I'm switching to emacs because of terminal side. I'm switching from vs-code because of option ssh-ing to my machine and have just one IDE.
(on site I'd use vs-code, ssh = nano (simple for small changes, annoying for complex changes))
I'm glad you mentioned that it is fine for tty only access.
In many of your videos, I see you type the full path for programs that you have aliases for.
At least in bash, you can prefix the program name with \ and it'll run the non alias command ;)
You can also use the "command" command, to run the actual command instead of the alias. Example: "command ls".
In ZSH, backslash escaping used to work, but then it stopped and now I just do for example `@ cat`, where I have
```
@ () {
"$(where "$1" | tail -n 1)" "$@"
}
``` defined in my .zshrc
You telling me I should replace the where-tailing with `command`?
I've been using Emacs some 30 years. At last activated the daemon after watching the video :D Better late than ever, I guess...
Small correction: SPC . is not dired, it's an ivy prompt
oh good god! I always suspected that and was weirded out when it didn't act like I thought it was supposed to!
I can of have a weird masochistic love-hate relationship with emacs. I'll be drawn to using it for a while as my main editor, but then I'll get frustrated because I'm not good at using it. And then I'll be drawn to it again. Maybe I need to see a therapist.
Whereas for Vim, we kind of have an understanding: used for limited editing , no fancy keystrokes, save and quite before anything serious might happen. Not as romantic but it works
You should have been using nano instead of vim. You don't require the latter for kid stuff like that. Always use the simplest tools you can afford to use for jobs, otherwise you're losing precious time learning what you never needed to learn. And let's not even start about Emacs ...
@@exnihilonihilfit6316 No, because vim works which better from an ssh client than nano does, and I don't have to worry about installing it first, as it's on every server.
And really it's not hard to use at all when you stick to the basics. Emacs is quite a different matter though, I agree
Good tips, haven't used Emacs much. The terminal in the example with running process is not useless though, pressing ctrl-z and then typing 'bg' will set it free.
Trying using emacs as a terminal app, thinking it's more "true way" was my sin. And also the reason for me to quit. Thanks, Derek. I guess, I give it another try.
Can't agree. I use emacs in terminal for more than a year and I like it. I launch daemon on my server and then ssh in to it and use emacsclient, can't do this with gui. I don't like Tramp by the way
@@fgtdjkg why tf did you have to add the completely irrelevant note to the end of your comment?
@@BurgerKingHarkinian don't confuse TRAMP with Donald Trump
@@fgtdjkg yeah I realized my mistake after further scrolling through the comments. My bad. lol
@@fgtdjkg I meant it from inexperienced user's perspective. Have you had any experience with GNU/Emacs or its forks before the point you've decided to run your text editor on remote machine?
Thanks DT! After 6 months of Emacs usage, I reached the same conclusion that first impression of Emacs is not doing it justice. It's like opening up xmonad, and tinkering with it for 10 minutes, and decide that it cannot do much. It just doesn't make any sense.
Emacs is GNU Hurd but Richard Stallman refuses to acknowledge it. ;-)
The biggest rookie mistake I made was expecting to get any work done. It's way to complicated for my dumbass
if it aint facts
Sometimes i feel like the world sucks, you know? But man, at least i can watch DT, and that makes me feel nice, sincerely. Thanks man, i hope you will continue doing what you are doing for decades to come.
The biggest mistake is using emacs instead of vim! I'm only kidding, great stuff DT! I don't use emacs much, but you've made it appealing. Keep it up man!
I config emacs with more than 300 package with 1 second to load ❤ it is based in one guy i dont know his name for now, i think emacs with lisp better than neovim and lua and less just now i need to config eshell
Do you mean Protesilaos Stavrou ?
Neovim with LuaJIT is leagues faster than plain Elisp. (gccmacs is another beast)
In all fairness, emacsclient has it's issues. I can't tell you how many times I've tried to use the daemon mode just to have it wind up unable to exit cleanly does to recentf not responding, delaying my system's shutdown by 90s. This is much longer than just the time it takes to start up a fresh emacs session multiple times in the day.
Re: Opening emacs in the terminal: If you're running emacs-nox under gnu screen (or tmux), it's quite natural to run emacs in the terminal...
Hej man...just want to say...I've been a vim user for a long time..and since your first doom emacs video..I got in love with it...and now it is basically my windows manager kkkk I can only thank you for the amazing content! ^^
Emacs is a reasonable Operating System, it just needs a good text editor.
Like, say, VIM?
it already has vim, is called evil
Emacs has a very good text editor, it can do everything vim can and more
Another tip, In evil-mode, Ctrl-Z will toggle evil-mode on and off, handy if you are running ssh in a vterm, and you have to edit a file remotely with vim/neovim
I use emacs -nw -Q when I am working as the root user.
Emacs is capable of escalating to root to open files, which sometimes I do, but I wouldn't recommend using it because of emacs being open by design.
hey dt!really nice and helpful video, being a new emacs user myself.keep it up
I don't understand why people worry about the fact that it take two seconds to load. It's just two seconds. I don't run the server because I don't always use emacs and I don't want it to consume memory when I am not using it. I am perfectly fine if it takes two seconds to load, because it is just two freaking seconds.
Your best video in a long time! Great content!
I'd just like to interject for a moment. What you're refering to as Emacs, is in fact, GNU/Emacs, or as I've recently taken to calling it, GNU plus Emacs. Emacs is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Emacs, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is an Emacs, and these people are using it, but it is just a part of the system they use. Emacs is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Emacs is normally used in combination with the GNU operating system: the whole system is basically GNU with Emacs added, or GNU/Emacs. All the so-called Emacs distributions are really distributions of GNU/Emacs!
You can execute commands prefixing with backslash so that bash/zsh doesn’t use alias
You could give an empty string for alternate editor which will start Emacs server if not already started and will connect the client to it.
hey DT, did you know if you have aliases of commands you can run those commands ignoring he preconfigured alias
in your case you can run `\emacs` and that will run whatever your system things emacs is ignoring the alias ;)
beautiful video. thank you!
The 'emacsclient' thing I discovered quite by accident not long ago. That's when I realized that I was probably doing some of this stuff in an inefficient way. Since then I started studying Emacs a little more - now I consider myself a Vim refugee who now uses emacs exclusively. I still like my Vim keybindings but, hey, that's what Evil mode is for, right? Other than that, you'll have to pry emacs from my cold, dead hands...
Thanks, DT, I've started with doom emacs for two weeks, but still, I think VS code with vim extension is good enough for my work
Jeez DT, I can't believe it was 2 years ago you did that. Back then, I thought you were nuts. Of course, I still do ;)
Learn linux at the same time do we need to learn another app that acts as an OS inside an OS I feel coggy in this case
If the goal is to learn Linux, learn Linux first. If the goal is programming, writing, etc - learning emacs/both is fine, but may be more work.
Emacs is a fantastic OS, not so sure about it's vi port though.
It's better than GNU/Hurd I'll give you that.
I used to code in standard IDEs then in my masters I had to start SSHing into a lot of systems. I picked up Emacs, and it feels wrong to have a standalone window for it. Is it user friendly? Probably not, but damn is it smooth.
Very informative, thank you!
Evil mode is a HUGE mistake new emacs users make. Learn to properly type regular emacs keybindings _with both hands_ and you'll see how good and ergonomic they are. No need for modal madness
In my server environment I used to use emacs in terminal mode. There is no X server, so why not.
However I recommend to use the program jed in this case. It's kind of neat light emacs -nw clone.
Agree. I always use emacs in terminal and it's just fine. I launch daemon on my server and then ssh to it
All this GUI shugar is lost in remote ssh sessions. I prefer terminal version, which works the same way regardless of is it local or not.
By the way I find terminal version of emacs is still great.
I use eshell and TRAMP for remote access
you can always connect to remote emacs server from the GUI
Wow thank you fellows, some promising tips!
DT, I tried creating a vim mapping in eMacs and gave up. It’s so obscure
Thanks!
Wow, nice Mirror's Edge wallpaper 🏃♀️
So the benefits of Emacs compared to Vim are:
- Varying font sizes
- Webbrowser builtin
Imma stick to vim then
And font size isn't a problem, because many terminals have that option built in
@@eliasgill2453 which ones?
When will DTOS boot directly into Emacs without any DE or WM?
soon
sorry, still going to do vim or vscodium for graphical.
I don't need my text editor to do all this extra stuff, i just need it to edit text and do that single task well.
with all these extra bells and whistles and what not that emacs has it just becomes cumbersome to use as just a text editor.
I had not heard of starting emacs daemon before. GUI emacs opens just fine without starting the daemon first. I guess the daemon opens when emacs is launched? Either way, if you launch daemon first then the client it will take about the same time, I assume. I am way used to GNU emacs now but may try Doom at some point. I am a happy bunny with the way emacs runs on my setup and always expanding the knowledge and packages. Thank-you DT
Been using emacs 30 years, so far haven't seen point for this server arrangement...
What is your window manager?
I've tried emacs a couple of times, and I have it install and configured, but I'm so used to using ranger as my file manager and opening terminals for everything that I can't seem to ever get use to it
thanx for explanations
Why would I want to run emacs though? I already have an operating system installed, and there's a pull request to get a kitchen sink in Firefox so I don't need that either
- universal text-based interfacd
- universal keybindings
Think of it as a "shell" for everything - email, web, irc, whatever.
I had no idea that you could launch an Emacs daemon! That's so cool!
I can't get correct font antialiasing and hinting in emacs gui under wayland/sway. So in alacritty emacs -nw looks much better.
if all programs would work with a client-server application then window management could be done by the window manager
when i use doom-emacs, and enter org-mode, and do a * for the first header ... i just see a star after hitting the tab, it doesn't convert to that symbol that i see in DT's video ... what am i missing?
I do use emacs/evil, but without graphical compiled in. I have no desire to surf the web, navigate my fs, or look at my photo library using emacs.
So rather than launch standalone emacs which take 1.7 seconds, you launch emacs-deamon which takes 1.6 seconds and then launch the client which takes ~0.5 seconds. Makes complete sense. Who needs a fast and responsive editor anyway? Not emacs users clearly. It's obviously much better to have to parse and interpret untyped code with every editor command then use fast compiled code. Also much better to emulate some features of a window manager within emacs than used a dedicated program designed for the distro/environment. It looks like you also have to use emacs' idea of a terminal rather than a standard terminal emulator to iter-operate within the emacs "system". You have the added bonus of juggling interacting configs for multiple distinct tasks within one programming environment rather than logically separating them.
The Unix/Linux philosophy: Write a separate program for each specific task and transfer data between them will well-defined interfaces.
Lispitis: The compulsion to rewrite every program in a slow untyped interpreted language with non-lexical scoping and no interfaces. Occasionally afflicts novice coders. Also see "spaghetti code".
Never heard of the emacs daemon. I always use it in the terminal mostly to edit config files and I never noticed it was slow.
Just install some packages to your emacs config file and you'll notice the difference
I don't know, startup time never bothered me, I just don't close it ))
alright dt, but HOW DO I SET UP A JAVA DEVELOPMENT EVIRONMENT IN EMACS???? I am new to emacs and doom emacs, I tried the (java +meghanada) and didn't like it so I wanted to set up java +lsp but my god is it confusing when normal documentation for how to set it up is for vanilla emacs and so the confusion is real when you want to do for doom emacs...
Good advises! ! !
A terminal emulator, at the end, is also a GUI application. So why would anyone use emacs in a terminal?
Hello, DT, thanks for your videos!
Despite of you uploaded video explaining why emacs isn't bloated, i still think it takes too much responsibilities inside itself.
I think that tmux+pure vim/kakoune fits into unix philosophy a bit better (btw, thanks for kakoune video)
Emacs is good, but it's really os inside os, and when you using it means you not using all good alternatives
True to that
Totaal noob here. Never heard of eMacs. Got this vid recommended. But I don’t understand what eMacs actually is. Is it a text editor or I’m a interpreting wrong. I’m in it so feel free to get technical (Sorry eng not native language)
If you typed this exactly into chatgpt you'd have your answer
IDK if this is the caae for other people, but in my config, iBuffer and vterm aren't enable by default.
That's true. You have to install vterm
If using Doom Emacs, go into the init.el and find a section headed with ':term' And uncomment vterm. Uncomment eshell too if you want to play with it. Then run a doom sync to install those new plugins. The very first time you launch vterm, it will have to compile (takes a few seconds).
Also, in your init.el, look for a section heading ':emacs' and look for a line for ibuffer. I have mine set as (ibuffer +icons) which will give you some nifty icon fonts inside ibuffer.
On a rather fast computer (0.7-0.8 second load time on doom emacs) the daemon doesn't really do much in terms of getting a faster launch, but it takes up 180 MB of memory just idly. This seems wasteful.
EDIT: I was WRONG!!! I don't know what was up on that day, but today I tried daemonizing emacs, and it truly does make a difference! Not just in the launch time, but also in the performance.
As you mention the terminal version, how is using it compared to using vim?
The same. Pluss you have magit and have access to the same session if using daemon. One drawback is that to use emacs in terminal you'll need to tweak it much more than vim. Once done the experience is the same. I use emacs in terminal on daily basis for more than two years
now I know this is kind of special, what I find offputting on emacs is, that I can not escalate emacs to have root rights inside from emacs.
Let me elaborate.
In a normal use case for me, I use vim for editing files on my system (not in home folder), say in /etc. So normally I do 'sudo vim /etc/whatever.conf. Sometimes I forget the sudo of course, so I close vim and do sudo !! instead.
So, how do you do that on emacs with emacsclient? I start it up with emacsclient, then navigate to the file with the internal browser, notice I need root rights, than run sudo emacsclient (and have this stupid terminal window next to the emacs window again), then navigate to the file with the internal browser again?
You can use tramp to elevate. The normal command name used is "sudired". This works for me: (defun sudired ()
(interactive)
(dired "/sudo::/"))
type 'sudo emacs -nw'
Doom Emacs has some custom functions built into it:
sudo-find-file (SPC f u) - opens the find-file prompt as root
sudo-this-file (SPC f U) - opens your current file as root
sudo-save-buffer (SPC b u) - saves current file as root
@@fgtdjkg then it’s slow again
@@hansdampf2284 emacs -q will help
Real power users use cat > file
Efficiency at its very best
Hi , Dt i know it's not related , but today i've watched a youtuber who have been managed to corrupt his motherboard bios (but he dosn';t know) with windows 11 ; I thing you could make one more video how dangerous windows 11 is , because of the tmp module and many other things ; I am msging you because i don't want people to destroy their hardware with windows 11 , but i don't have the voice to cry it out. Please Dt do somthing !
Hey DT, maybe you can include the shortcut on video
1.7s to boot is slow? Not bad for an OS in my opinion.
I need to watch more videos of people using emacs and rambling.
A video on emacs on xorgless wayland works would be handy
Eli Zaretskii said in help-gnu-emacs:
"You are not supposed to start Emacs more than once in a lifetime, so
the startup time shouldn't matter at all." ;)
terminal emacs can replace the windowing of tmux
Is it possible to run emacs server on a tty-only machine and then connect to it using a gui emacs client?
Maybe just launch emacs in terminal mode ?
The client server concept of emacs has nothing to do with networking. Server and client run on the same machine. I think Unix Domain Sockets are used for the communication between client processes and server process.
Glad to see a great illustration that emacs is really an operating system with an ok text editor tacked on
hahaha
Jokes on you I'm not using Emacs at all! Repeat after me "vi vi vi"
chmod 666
emacs emacs emacs
@@charlie_momento you are new blood I see.
emac hurt my fingie
@@mewhenthemewhenstheme pro tip : get a space cadet
Vim is nice and so is Geany too. If I try out emacs again I won't do the same the same mistake, with using terminal and not gui version :D
Literally my favorite video on the internet is "Joraro Closes Vim". It's still the reason to this day why I don't mess with it.
I actually moved to doom emacs, thanks to DT of course. To be honest I was wondering why my emacs linting for Rust is a bit slow, probably that's why.
I would appreciate it if you do Rust configuration tutorial, and I couldn't get font ligatures to work well, still have these weird characters, Nerd fonts on my OS, using +fira flag didn't solve it, tried to `M-x package install` `fira-code-mode` and I got "wrong argument number error".
Still learning, but I already love it.
It is also just generally a bit slow to run rust linting because its got to work out all the ownership etc.
Also it only runs when the file saves which gives an increased impression of lag.
For getting it to work it should be as simple as setting up rustup so rust-analyzer is in your path and uncommenting the "rust +lsp line" in the doom config
@@06kellyjac Lovely rust community. I actually did all that, but still, there is some sort of delay, specially with big projects, it takes to seconds to catch a syntax error, two seconds to remove the error of corrected. Mostly I did something wrong somewhere.
lucid vs. gtk: "When Emacs is compiled with Gtk+, closing a display kills Emacs."
1:01 and read the title again lmfao
i still don't get why would anyone use vim like emacs ... why not just use vim instead ?
I'm about to learn I'm screwing up in Emacs aren't I!?
Oh yes, Emacs - an OS that lacks decent text editor.
"an OS that lacks decent text editor." - Not true. You just haven't installed word processing packages yet ;-)
imagine there are people who use vscode in a browser (electron) or atom. I think to compare emacs with vim is kinda dumb tbh.. it is quite the opposite
Thanks DT,
I was doing it wrong the past three days since I was doing emacs from the terminal and I was really surprised that several things was not working well.
I’m a vim user trying doom emacs for the first time and found org mode to be mind blowing feature that I started using straight away, slowly working my way to other emacs features 👍
How to setup command hints in terminal ?
Stay in the terminal all the time , this habit saved me from many meaningless WARs.
Summary:
1 Use Emacs server to speed up lauching Emacs
2 Use dired
3 Use Emacs gui, not termial emacs
Distrotube: "I've never told anyone that they're using their desktop environment wrong."
Also Distrotube: "Yeah, so anyway you guys need to stop using preconfigured desktop environments and use your own config files and window manager."