As a new Emacs user, this video has been one of the most helpful in setting up my config. Thanks for making this!
@YisraelDovL Жыл бұрын
Cool to see these new features. You don't need to use the `auto-mode-list`, part of the `use-package` macro has a `mode:` key that does the same thing.
@vincentpicaud5664 Жыл бұрын
Very informative and pleasant to watch, thanks !
@georgH Жыл бұрын
Great video! It's really nice to have these resources for beginners or old time users trying to get up to date :) 4:30 I usually set up my PATH on ~/.profile, then all GUI and shell programs use it (it works on Gnome). I like that it's part of the desktop or dev environment configuration, not my editor. I've been using both Debian and Emacs for more than 20 years, it has evolved so much! I love v29 :D
@bwestbro Жыл бұрын
Thank you for the kind words! Ahh, that finally explains why this works on my desktop without changing anything in Emacs. I set up my PATH in ~/.profile too. Thank you! Me too! I've only been using Emacs for about 5 years, but there have been some really nice changes even in that time.
@georgH Жыл бұрын
@@bwestbro Glad it was helpful :) my 2 cents contributing to a very nice video, I tried it once, but it's harder than it looks to make nice and useful videos
@georgH Жыл бұрын
10:00 use-package has support for adding the file types directly, at you can see in the official documentation: (use-package ruby-mode :mode "\\.rb\\'" :interpreter "ruby") ;; The package is "python" but the mode is "python-mode": (use-package python :mode ("\\.py\\'" . python-mode) :interpreter ("python" . python-mode))
@bwestbro Жыл бұрын
Great tips, thanks again! I actually had to add a note about the python vs python-mode thing on my Emacs 29 Python video because I had it wrong at the beginning, so that is quite helpful as well.
@angry-penguin Жыл бұрын
great entry video into emacs!
@nightly_builds4 ай бұрын
up up up!
@mendelovitch3 ай бұрын
Good stuff.
@256k_ Жыл бұрын
great stuff. thanks. subscribed for more emacs goodness
@vivaneret1249 Жыл бұрын
Great video!. I'm new to emacs so these tips help me a lot. Could you give a guide to configure other languages? Like python and c/c++? I don't understand much yet but it seems that with tree-sitter and eglot is easier to configure. Thank you very much for the video!
@bwestbro Жыл бұрын
Thank you! For sure, Python is actually the main other language I was thinking about since I've been using it for work. I'm not as familiar with C/C++, but I can give it a try! I was definitely excited by how little code it took to get a pretty good environment started in Emacs 29
@MrAlexeyFrolov Жыл бұрын
@@bwestbro It would be nice to see how to use emacs to navigate in a project between different files. For example, all java IDE have a feature to navigate to a class and I still don't know if it's possible to navigate to a function or a class by its name, which can be defined in another file. Thanks for your videos!
@bwestbro Жыл бұрын
Oh great idea! Eglot should provide this functionality, but I forgot to test it out or mention it in this video. I've noticed lsp-mode struggle with Python definitions, but for a language like Rust or Go, it does a great job. I use evil-mode, so the binding I usually use is `g d`, which calls `evil-goto-definition`, but I think the default Emacs function for this is `xref-find-definitions`, which is bound to `M-.`. lsp-mode definitely works with these, and I assume Eglot does too. I'll try to show these off in the next video!
@rakandhiyaaa92 Жыл бұрын
I've set up python and rust, if you have an lsp installed, as long as emacs can detect it, eglot or lsp-mode will connect to it without any problem. Treesitter, you can choose to install or ignore it. As for code completion, eglot works pretty well with company-mode and corfu, lsp-mode also works with company
@scottotterson3978 Жыл бұрын
Good to see. The next thing I'd like to see is a python install.
@MisterDevel Жыл бұрын
Great video. As a new person to emacs, this is a lot of help. I'd like to humbly also submit that I would like a video configuring python with full LSP, with just ELPA packages? Thank you :-)
@jazzyBit10 ай бұрын
love it, but I have only one problem with eglot. when I activate it and try to write a function like "printf" it shows me a window or mini eldoc buffer. Is there a way to disable it?
@bwestbro10 ай бұрын
I looked back through my commit history to when I tried out eglot in my main config (September 2022!) and I set eldoc-echo-area-use-multiline-p to 3 in a :custom block of my (use-package eglot). I think if you set that to nil, it will display only a single line and should stay in the echo area. I also set eldoc-echo-area-display-truncation-message to nil so that it would stop trying to tell me how to see the full docs. Hopefully that helps!
@jazzyBit10 ай бұрын
@@bwestbro thanks man
@rakandhiyaaa92 Жыл бұрын
How do you get your LSP recognized? I got all rust-related files into .cargo/bin but emacs just doesn't recognize the folder. I got .cargo/bin on my path as well and it just doesn't run. .cargo/bin isn't even in the exec path. I installed mine from snap, if that matters I can get rust to work if I call emacs from my terminal, but I cant if I opened emacs from the Application menu
@bwestbro Жыл бұрын
You can see my config for that around 6:52. I had a very frustrating time with that in my first take of the video! I ended up doing both (add-to-list 'exec-pat "/home/brent/.cargo/bin") AND (setenv "PATH" (concat (getenv "PATH") ":/home/brent/.cargo/bin")). When I tried the first one alone, it didn't help, so I think the second one is actually the more important one. Yep, opening from the terminal means it inherits $PATH from the shell, so give the setenv line a try!
@rakandhiyaaa92 Жыл бұрын
@@bwestbro Thanks man!
@bwestbro Жыл бұрын
In a general sense, lots of things are frustrating when you're new to them or running into a part that is new to you. That doesn't necessarily mean you should give up and do something else. Every program I've used (including some of my own) can be frustrating at times, but I keep using them because they are better than the alternatives I've tried. In this specific case, the "it" in "why do you use it" isn't very clear. This was a frustrating interaction between 1) the way I installed the Rust toolchain, 2) the way the desktop environment was launching programs, and 3) Emacs. I don't use Debian or this desktop environment on my own machine, so I've never had to make this particular change in my config. I have had to make similar changes before, though, so I was able to use my past frustration to overcome this as well. After that, my config "just works," so it's not like it's frustrating every time either.
@nickbanderson Жыл бұрын
I'm using treesit-auto to help make sitting on trees easy and the default
@bwestbro Жыл бұрын
Very nice, that looks like a useful package!
@randomsearches369 Жыл бұрын
Could you please make a video on emacs daemon, with 29.1 I dont know what happened, my daemon is not running, I wish you could help me !
@bwestbro Жыл бұрын
I don't really use emacs daemon. I just leave one Emacs open pretty much all the time. I do have (require 'server) (unless (server-running-p) (server-start)) in my init.el file so that I can open files in my running Emacs from the terminal with emacsclient, though. How are you trying to start the daemon?
@clarkkent4818 Жыл бұрын
Try in terminal ' emacs --debug-init --fg-daemon ' and see what happen