Emacs From Scratch #1 - Getting Started with a Basic Usable Configuration

Поделиться
HTML-код
  • Опубликовано: 10 сен 2020
  • In this stream, we'll start creating a completely custom Emacs configuration from scratch! We'll also learn some Emacs basics along the way.
    Check out the configuration from this stream here: github.com/daviwil/runemacs/t...
    My Emacs configuration: github.com/daviwil/dotfiles/b...
    If you enjoy this series, please consider becoming a GitHub Sponsor: github.com/sponsors/daviwil
    Follow me on Twitter for more Emacs content!
    / systemcrafters
    Chat with the System Crafters community on Discord: / discord
    Intro music: Coriolis Effect by logos feat. stefsax, licensed CC-BY
    ccmixter.org/files/mseq/26296
  • НаукаНаука

Комментарии • 276

  • @SystemCrafters
    @SystemCrafters  3 года назад +35

    What else would you like to know about Emacs? Leave suggestions in the comments or reply to this one!

    • @gpietroiusti
      @gpietroiusti 3 года назад +4

      Loved the video! Thanks! Looking forward to hearing more about:
      - Why not ido over ivy, if you like minimalism.
      - your EXWM workflow and thoughts about the way it compares to other WMs/DEs. As a heavy emacs user, EXWM has been the best tiling wm experience for me. Only one set of key bindings for managing windows and simulation keys are great.
      - Your way of using vim keybindings in Emacs. Many emacs users, myself included, seem to have problems to perfectly integrate them. I ended up keeping evil-mode active, but in emacs state by default; I switch to vim keybindings when I feel like it.

    • @SystemCrafters
      @SystemCrafters  3 года назад +3

      Thanks! Ivy enables additional actions for completion lists via M-o and C-o, not sure if Ido provides similar behavior. Good question, though, might need to explore that in the future.
      I'm definitely going to get into EXWM and Evil! You're right, Evil config can be tricky, might need to devote a good portion of a video to it.

    • @pedrom6
      @pedrom6 3 года назад +4

      Great video! Thanks for sharing your way, and making clear explanations!
      Maybe it's too much information in this one for a newcomer. Maybe not, just wondering...
      I'm interested in EXWM, eshell, and also some software development workflow.
      Again, thanks!

    • @SystemCrafters
      @SystemCrafters  3 года назад +1

      Thanks Pedro! Let me know if there's anything I can cover in more detail another time, too.

    • @SystemCrafters
      @SystemCrafters  3 года назад +3

      Hey Kevin, I plan to cover lsp-mode in an upcoming episode, this will cover a lot of what you've mentioned here. I will also cover a web development setup at some point in the future since there are some interesting packages in that space. Also, integrated shell in Emacs is a whole topic of its own that I should cover soon. Thanks for the ideas!

  • @scotth8828
    @scotth8828 2 года назад +58

    If you're following along and you're using emacs for the first time, running counsel at 34:43 you may not have the counsel package loaded (you'll know if you type M-x counsel and no commands show up), go back to 34:01 copy in lines 79-86 from the init.el shown and run M-x eval-buffer.

  • @hunterbuns
    @hunterbuns Год назад +1

    Very helpful video! I've been procrastinating on watching this series because of its length (it seemed daunting), but now that I've actually started watching, time seems to be flying by! Something about the way you teach this stuff makes it all seem very managable. I wish I'd started earlier. Thanks for making this amazing resource!

  • @andrewcarpin2850
    @andrewcarpin2850 3 года назад +10

    Excited to be revisiting this series! Just backed up doom emacs configs and wiped everything clean. Going to try to build my own GNU Emacs config now!

  • @gordonvanamburg8932
    @gordonvanamburg8932 3 года назад +6

    I worked through this setup with you and am liking whats coming out. Thank you so much for the inspiration to do more than just use vanilla like I've been doing. Looking forward to going through the next video.

    • @SystemCrafters
      @SystemCrafters  3 года назад

      Glad it worked for you Gordon, have fun with the rest!

  • @VijayaPrakashKandel
    @VijayaPrakashKandel Год назад +1

    This is amazing stuff. I am on and off emacs. Started 4 years ago, jumped straight into Spacemacs and got lost in layers documentation. Used primarily for note taking with org mode and did couple of scripts to cloud sync the notes across devices. However, never got down to the bare minimals for setup and spacemacs had too much for me.
    Loved the fact i sat through this video and got something even with spacemacs-theme. Well done.

  • @TheStarrs7679
    @TheStarrs7679 3 года назад +10

    Very clear explanations! Switched over from vim over the last few months with Doom Emacs, but always felt a bit uneasy about having a bunch of preconfigured stuff I might not even know is there. Looking forward to future installations.

    • @SystemCrafters
      @SystemCrafters  3 года назад +2

      It's a lot more fun to make your own configuration, in my opinion. Thanks for watching!

  •  3 года назад +2

    Very good idea to write the init file from scratch ! I can understand every line of code and know for sure what my Emacs do. Thanks !

  • @edubmf
    @edubmf 3 года назад +1

    An excellent series, will try to plough through these so I can catch up to the live ones.

  • @thecocoa6329
    @thecocoa6329 3 года назад +2

    Late to the game, but thanks for this video. Started using Spacemacs (still think it's a great option) but found myself wanting to use Emacs from scratch - including autogen, configure, and make. Really appreciate your video. Thank you!

  • @wansmer
    @wansmer 3 года назад +12

    Thank you for great video!
    About auto-starting 'ivy': just change `:config (ivy-mode 1)` by `:init (ivy-mode 1)`.
    From doc of use-package:
    Use the :init keyword to execute code before a package is loaded.
    Similarly, :config can be used to execute code after a package is loaded.

    • @flaviolucio3429
      @flaviolucio3429 3 года назад +2

      that's the comment i was looking for, ty bro

    • @Angelo-vb6dg
      @Angelo-vb6dg 2 года назад +1

      thanks a lot, it's been a long time since i use emacs and i totally forgot about the use of :init

    • @patricioastorgajelvez1081
      @patricioastorgajelvez1081 2 года назад

      thanks! used it

  • @lishaitung
    @lishaitung 3 года назад +1

    This is one of the best instructional videos I've seen on RUclips and is better than some content on premium instructional sites.
    I started using emacs a few years ago because of TRAMP but I never really got into tweaking the configuration much. I use Spacemacs with minimal configuration changes. This video series seems as though it was made for me.
    It is so useful to see you explain in a quick sidebar the background context that one needs to understand in order to understand what you're configuring.
    This is great stuff, thanks for making it and keep them coming. I look forward to watching the rest of the videos in this series.

    • @SystemCrafters
      @SystemCrafters  3 года назад

      Thanks so much for the really nice comment!

  • @jonathanroberts6205
    @jonathanroberts6205 3 года назад +2

    Really nice material and snappy presentation!!
    Love Esc instead of C-g, much more natural.
    Looking forward to learning lots more.
    Thank you!

    • @rahilarious
      @rahilarious 2 года назад +1

      so instead of 'emacs pinky' you are going to have ESC pinky? cause Caps is already Ctrl, how and where do you map ESC anywhere else?

  • @kritjha
    @kritjha 2 года назад

    Two years later and still so so useful!

  • @marciomaiajr
    @marciomaiajr 3 года назад +10

    I was a Vimmer until a few weeks ago when I saw a video of a guy showing how to render LaTeX formulas in org mode and it really blew my mind. Emacs is crazy powerful.

    • @SystemCrafters
      @SystemCrafters  3 года назад +6

      Vim is great, but Emacs is in its own league!

  • @diegonayalazo
    @diegonayalazo 2 года назад +1

    Thanks for sharing your knowledge. Really appreciate it.

  • @neilclay5835
    @neilclay5835 5 месяцев назад +1

    That was very good, and I worked through it. Thanks. My one criticism is that this is clearly for beginners and they will have been trying to press the M and C keys instead of Alt and Control, getting frustrated and possibly giving up. Fortunately enough, it was the one thing I knew already going into this. I'll carry on with the course. Cheers.

  • @MrBranh0913
    @MrBranh0913 2 года назад

    I’ve been using VI for 25 years. Barely ever touched EMacs. It’s starting to grow on me after all these years admittedly.

  • @adamcope6890
    @adamcope6890 Год назад

    Just found your channel. Super helpful, thank you so much.

  • @blackie5566
    @blackie5566 2 года назад

    Thank you sir, your videos are so helpful, I just started using the org-mode - so this is all a great help to me!!! Thanks a million!!!

  • @Sz3ntAr
    @Sz3ntAr 3 года назад

    I've started learning about emacs for a year now and decided to create something else to replace the meddly in my init.el and this is a good starting point.
    Solution to a (trivial looking back at it) problem that occured to me (building up from scratch):
    "wrong type agrument" after calling swiper. You are likely to be missing the counsel package. Try downloading it (and complete other might occurring dependencies) and restart emacs. Worked for me.

  • @humanfactorsio
    @humanfactorsio 3 года назад +1

    Thanks for this, great video! Also you have a great name 😁

  • @jofla
    @jofla 3 года назад +1

    thanks for your videos I'm trying to learn emacs + evil to code in clojure/js/elm and this playlist is really helpful

  • @halfacanuck
    @halfacanuck Год назад

    Inspired me finally to get Ivy installed! I tried Helm ages ago and found it too heavyweight, then forgot all about it. Now I've got use-package, Ivy, Diminish, and Ripgrep going, and am warily eyeing Projectile...

  • @mos3abof13
    @mos3abof13 2 года назад +3

    For future reference, to bring back processes you suspended using ^Z you can type "fg" (which is the command to bring the process back to the foreground) in the terminal where you suspended them.

    • @xomiachuna
      @xomiachuna Год назад

      Additionally, if emacs was launched from the GUI, you can simply switch to it again e.g. using alt-tab in GNOME

  • @gbs54321
    @gbs54321 3 года назад

    Around 31 mins -- that statement -- one of the reasons why emacs (and lisps in general) still rock the house after all these years :) Being able to have two different completion frameworks loaded and running in different contexts, without interfering with each other, is still something many different pieces of software cannot claim to have.

    • @SystemCrafters
      @SystemCrafters  3 года назад

      I agree, it's pretty awesome!

    • @masterchief1520
      @masterchief1520 3 года назад

      @@SystemCrafters damn you still check comments. Just started this series so I can learn to configure my Emacs. Good job

  • @asas-jf5iz
    @asas-jf5iz 3 года назад +39

    Hello Mister, this is a really good series for Emacs learning! I follow your video step by step but come up with a problem. After install ivy, I cannot call counsel and swiper as you did in the movie. After a little search I realise counsel and swiper is however another two libraries. Simply install ivy cannot call them. Reason you can call them is, you are still using your old .emacs.d folder and so counsel is already there. Maybe I am wrong or miss steps from you? Finally, I added a line to my init.el: (use-package counsel). This enables me to use counsel and swiper.

    • @thecashewtrader3328
      @thecashewtrader3328 3 года назад +2

      +1

    • @toywang6489
      @toywang6489 3 года назад +1

      +1

    • @miguellima90
      @miguellima90 3 года назад +1

      This comment should be higher.
      Thanks!

    • @WarusBrian
      @WarusBrian 3 года назад +2

      you have to add another use-package swiper and use-package counsel. I think the version of ivy he installed came with both, depends on where you get the 'ivy' package from. www.reddit.com/r/emacs/comments/90hiew/swiper_disappeared/e2qglk7/ this link might help :)

    • @SystemCrafters
      @SystemCrafters  3 года назад +4

      Yeah, I think that is what happened in this case. I missed the fact that I already had the other packages installed through Guix and Emacs picked them up. Bad mistake on my part!

  • @RohintonKazak
    @RohintonKazak 3 года назад

    Thank you for a nice discussion.

  • @dexplorer1611
    @dexplorer1611 2 года назад

    The way you described the hypothetical noob experience was exactly like mine! 😂

  • @joaquimgregorio3380
    @joaquimgregorio3380 2 года назад +1

    As a Neovim user I decided to start learning Emacs today, it will be interesting

  • @muhammedabuodeh9310
    @muhammedabuodeh9310 3 года назад

    Great video. Subscribed!

  • @domasvaitmonas8814
    @domasvaitmonas8814 2 года назад

    Hi! Really love your channel. If I could, I would subscribe multiple times.
    One question - how do you setup emacs so that it has this nice looking transparent frame?

  • @chrisXr
    @chrisXr 2 года назад +2

    This playlist is amazing!
    I'm a long time Vim user who discovered org-mode about a year ago and I've been using Spacemacs since then (honestly don't know how I lived without org-mode until now).
    Spacemacs is excellent, and I probably would never have started using Emacs without it, as configuring Emacs to resemble something "modern" is daunting for a new user. But now that I'm learning more and more about Emacs I'm starting to butt heads with Spacemacs. It also hinders learning Emacs, in my opinion, because it's hard to tell what is Emacs and what is Spacemacs customisation.
    I think it's time to start my own Emacs config.
    These videos starting an Emacs config from scratch are exactly what I needed right now.
    So thanks!

  • @jeroengerrits9818
    @jeroengerrits9818 3 года назад +9

    Very good presentation! Please consider lsp for the next one.

    • @SystemCrafters
      @SystemCrafters  3 года назад +5

      Thanks! I'll definitely cover LSP in a future stream, it's pretty central to my work life. I think we'll have some more work to do on fundamental Emacs config before we get there :)

  • @lucius_hilley3
    @lucius_hilley3 3 года назад +1

    First! Thank you for providing this series. I have found it very useful.
    I am currently trying to learn to use and configure Emacs. I will continue to try and learn Emacs.
    Please take the following as constructive criticism. It is meant as a RAW perception. An attempt to illustrate how
    and why I see learning Emacs as an incredibly daunting task.
    Feedback:
    This is a hot take from someone that is just now trying to start using Emacs.
    First, the phrase using Emacs feels wrong to me. In the process of learning I don't feel Emacs as a noun. More of a verb.
    "I'm going to Emacs." Why do I feel this way? Because TRYING to use Emacs is a thing that I do. It is an action, a verb.
    I don't feel like I am using Emacs. I feel like Emacs is using me.
    You state. "I hope that with this little intro, I have convinced you that writing your own configuration is not that hard."
    Well, I didn't get that impression. I got the impression that you copy/pasted from almost random only sources and
    even from your own configuration file.
    Paraphrasing your demonstration:
    It isn't hard to make your own configuration file. Let me show you. Uh, First I'm going to setup thingy. Okay, that is
    done. Now I am going to add this thing that I already know about but.. Uh, Let me look up how to configure that.
    Hmm, quick online search wasn't right. Didn't help. I will just snag working code from my working configuration.
    Hmm, Having some problems. Oh, thank you chat for helping me correct what I have wrong, what I overlooked.
    No, I think you eloquently prove that it is in fact only easy if someone holds your hand if you are noob to Emacs.
    Do I have Emacs installed? Yep!
    Can I use/edit with Emacs? Yes, However not as well as just using Notepad or nano. (Ignoring things like vim and VSCode)
    Do I have a desire to learn to use Emacs?
    Overwhelmingly yes. I have seen the powers of vim and its limitations. I have seen how Emacs can do all that vim
    does and more. Emacs removes many of the restrictions I have bumped into with vim.
    Could I use VSCode and other custom editors? Sure. However, I prefer consistency. Constantly changing editors
    hinders my workflow. I am strong keyboard user and hate reaching for the mouse to click and drag things.
    I prefer to use just one text editor to edit virtually everything. I don't want to be missing features from switching editors.
    Sincerely, Lucius L. Hilley III

  • @manmeetworld7456
    @manmeetworld7456 3 года назад

    37:00 Fuzzy Match GIT Commands! Very Nice.

  • @HaiNguyen-cf1ji
    @HaiNguyen-cf1ji 3 года назад

    Emacs have every thing that vim can only dream of, I mean vim is awesome text editor but emacs are way more than that, thank for nice video

  • @ppali11
    @ppali11 3 года назад +1

    Great presentation, efficient delivery with good pace. Thank you. A question: you are demonstrating use of company mode buit it is not in your init.el and so not installed on my system (I started from scratch). Did I miss something? Was it supposed to appear with the ivy configuration we have here? Or should it have a separate use-package entry, to be installed?

    • @SystemCrafters
      @SystemCrafters  3 года назад +1

      Thank you! Usually I'm using Ivy for completions in buffers and it has a pop-up that looks similar to company-mode, maybe that's what you saw? Sometimes Emacs packages will install company-mode as a dependency, so that's why it could show up without explicitly installing it. I cover company-mode setup in part 8 of it helps!

  • @abcpdbq
    @abcpdbq 2 года назад

    Thank you, David.

  • @ade5324
    @ade5324 3 года назад +2

    quick note: if your icons are missing after installing doom-modeline just do:
    M-x all-the-icons-install-fonts
    P.S. i luv ur videos (L:
    Im total noob in emacs (2nd day of using it), but i think with your help i got used to emacs controls and learned some other essential emacs things pretty quickly (ofc i could just read the documentation, but reading is boring). I dont know if ill continue to use emacs in a future, but for now i see a lot of potential for better programming workflow :D

    • @phraggers
      @phraggers 2 года назад +1

      It's also worth pointing out to the windows users that you need to right-click each of the downloaded font files and click install, that's not immediately obvious to anyone who hasn't installed fonts on windows before.

  • @alexei3366
    @alexei3366 3 года назад

    What package you use to show folder's icon in dired mode?

  • @romankrv
    @romankrv 3 года назад

    How did you installed Emacs to you OS? Do you use GnuTLS inside Emacs like "REST client" ?

  • @dhruvie
    @dhruvie 2 года назад

    i think i am ready for this

  • @JohnGFisher
    @JohnGFisher 2 года назад

    Great job

  • @maxmaximoff6963
    @maxmaximoff6963 3 года назад +1

    Can't find the video where you talk about emacs transparency, so I'm writing it here. I've found the way to make transparent background, whith non-transparent text. It looks smth like this
    (set-frame-parameter (selected-frame) 'alpha '(80 . 80))
    (add-to-list 'default-frame-alist '(alpha . (80 . 80)))
    (set-face-attribute 'default nil :background "black" :foreground "white" :font "Hack Nerd Font" :height 110)
    One can customize it to he's own taste, important thing is in setting :background "black" and :foreground "white" in face-attribute (for dark theme) and :background "white" :foreground "black" for the light one

    • @SystemCrafters
      @SystemCrafters  3 года назад

      Interesting! Do you actually see the black background of the text over the transparent background?

    • @maxmaximoff6963
      @maxmaximoff6963 3 года назад

      @@SystemCrafters No, everything seems to be fine. The bg gets dark and semi-transparent, the text stays opaque

  • @mynamejeff2880
    @mynamejeff2880 2 года назад

    how did you get the om symbol between phantom and runemacs

  • @employee9911
    @employee9911 10 месяцев назад

    Have you looked at vertico in place of helm or ivy?

  • @quidquopro1185
    @quidquopro1185 2 года назад

    18:57 If you instead (setq visible-bell f) it will not load the theme. Is that because load-theme cannot load a new theme if a theme already is loaded (which it does because it sets the visible-bell)? Edit: Thank you very much also!

  • @ajstube54
    @ajstube54 2 года назад

    How would Emacs compare with visual studio in terms of debugging C programs?

  • @jantona
    @jantona 2 года назад

    I got stuck for a while trying to figure out how to nav up a directory level in counsel-find-file coming from Helm. If you also want C-l to work like it does in helm, what you need to set is counsel-up-directory in the counsel-find-file-map map. Hope this helps someone!

  • @fikrirahmatnurhidayat4988
    @fikrirahmatnurhidayat4988 Год назад

    How do you achieve transparent doom mode line?

  • @swarnavmukherjee9694
    @swarnavmukherjee9694 Месяц назад

    Hey, I am following this tutorial and it is going smoothly except when I put doom modeline command , a emacs abort dialog comes up everytime saying a fatal error has occured. I have done everything in this tutorial except the modeline. Can anyone tell whats the problem? Also I am using a windows

  • @fbsfulda
    @fbsfulda 2 года назад

    With a courageos M-x all-the-icons-install-fonts , the fonts are there too.

  • @Saulimedes
    @Saulimedes 3 года назад

    You are my new Luke Smith!

  • @nin6246
    @nin6246 Год назад

    I am having the hardest time trying install mpv in emacs. Does anyone know how to do that?

  • @Bergerons_Review
    @Bergerons_Review 2 года назад

    12:39 (unless dw/is-termux ; my emacs can't interpret this part or any of the dw thing. I know it must be some directory system. Can you explain why it is needed and what should I write there instead? Thanks!

  • @psychohosi
    @psychohosi 3 года назад

    I used exactly this configuration but there is no "counsel" in my emacs. What am I missing? :-(
    EDIT: I figured it out. I had to run M-x install-package counsel
    However, the ivy mode only seems to work for my if I turn it OFF and then on again.
    EDIT2: Okay I got it to work now by changing the init.el file. I took the " (ivy-mode 1) " out of the bracket from before and now everything is working as intended.

  • @ryanleman7380
    @ryanleman7380 3 года назад +1

    Hello all, If you are running issues with downloading melpa on a Debian OS than you might want to try downloading/installing Emacs via source. When I used apt-get method to get emacs I was running into a lot of issues. Someone on discord mentioned it could be related to Debian not being a rolling-release OS however Debian's source is apparently updated a lot so it's like a rolling-release. So downloading/installing it via source fixed that issue & I had fun creating by very first desktop icon which isn't hard :D

  • @scrtch233
    @scrtch233 3 года назад +4

    I had to add (use-package counsel) to my init.el file to get swiper and counsel to work. Anyone else have this problem?

  • @rootcao1360
    @rootcao1360 2 месяца назад

    When I do m-x eval-bufferm or C-x C-e, I'm keeping getting "(custom-set-variables
    ;; custom-set-variables was added by Custom.
    ;; If you edit it by hand, you could mess it up, so be careful.
    ;; Your init file should contain only one such instance." appended to the end of my init.el file. Anyone else have this problem? I'm using Emacs on Windows

  • @LadronDeMigajas
    @LadronDeMigajas Месяц назад

    i have been playing movement shooters for years i got emacs pinky and i'm just learning it

  • @aidantilgner
    @aidantilgner 11 месяцев назад

    Hi James, good morning!

  • @continus5132
    @continus5132 Год назад

    doom-modeline dos not seem to wark properly on GNU emacs 27 in debian. There is no icone and look worst than the default modeline. I tried (use-package all-the-icons ...) vith no success for icones. And thanks for the awsome video.

  • @artistscientist2848
    @artistscientist2848 2 года назад +1

    @SystemCrafters
    How did you get Fira Code Retina to work without any issues? I have it installed on my machine and tried this config on both emacs 26.3 and 27.1 and both of them say: Font not available. Any tips?

    • @justaboutmanager849
      @justaboutmanager849 2 года назад +1

      Same here. I downloaded the fonts with M-x all-the-icons-install-fonts , then went to the directory and right-clicked each one (I'm on Windows 10) then installed. Problem still happening.

  • @OuasselELHABTI-qb2xp
    @OuasselELHABTI-qb2xp 11 месяцев назад

    Hey thanks for the Tutorial,
    I am new to emacs and i have one question , when sometimes i use use-pakage , i got an autogenerated Custom code , is there a way to automate the process so whenever there is some autogenerated stuff it goes directly to some file x.
    Thanks

    • @rootcao1360
      @rootcao1360 2 месяца назад

      Have you figured out the cause? I'm having the same problem

  • @claudiusraphael9423
    @claudiusraphael9423 3 года назад

    10:00 I feel the pain the introductory white screen causes. Please, would you consider making an ultraminimal vetsion of this video?
    Having a straight path to go along plus using emacs alone would be the premise; Like, not using a bunch of templates/snippets but instead do every tweak on its own and in emacs alone?

  • @dr.jcuber9385
    @dr.jcuber9385 3 года назад +1

    I am getting this error Package 'use-package-' is unavailable. I have used the exact same config u used. Can you please help me? BTW, Awesome vid!

  • @vapourmile
    @vapourmile 3 года назад

    @System Crafters: I have been puzzled by your having to choose huge font sizes. My first guess is emacs is taking incorrect DPI measurements from somewhere. I have read the emacs docs and it says the font height works in 1/10th of a point increments. I have emacs 27.1 too and following this tutorial the comfortable height setting for me is 85, which is what you'd expect from an 8.5 point font size. Have you tried looking elsewhere for the issue, for example the M-x display-monitor-attributes-list function to see if it's misreading your screen size?

    • @SystemCrafters
      @SystemCrafters  3 года назад

      It might just be the DPI setting I'm using in my desktop environment, the values I use work for me so I haven't bothered investigating further

    • @toddornett
      @toddornett Год назад

      @@SystemCrafters Maybe something like this to express font with point size instead of pixels (set-face-attribute 'default nil :font "Fira Code Retina-16")

  • @Xaphanius
    @Xaphanius 3 года назад

    Great intro :+1:

  • @sjatkins
    @sjatkins Год назад

    One question that I forget is for this video or the next involves swipe. After a search if I hit escape point returns to top of buffer. I really don't want this. I want it to stay at last search result. How is this achieved? Ah, the TAB works.

  • @charlemana
    @charlemana 2 года назад +1

    Counsel is missing; so you can install it just by (use-package counsel) and M-x eval-buffers

    • @ex0ja
      @ex0ja Год назад

      thank you, some of it wasn't working for me because of that.

  • @almighty-bladder
    @almighty-bladder 3 года назад

    I'm using doom emaca right now. Is there any way to try out writing emacs from scratch without messing with my existing doom config?

    • @alephanull1953
      @alephanull1953 3 года назад

      Back it up on GitHub
      Then delete and start from scratch
      If you mess up, just reinstall doomacs and add your config

  • @user-bi3du7or6e
    @user-bi3du7or6e Год назад +1

    Hey @SystemCrafters I want to ask is this playlist considered outdated at current timeline or I can still get most of thing about emacs from it.

    • @SystemCrafters
      @SystemCrafters  Год назад +1

      The choice of Ivy and Counsel in the first couple of streams is out of date (many people use packages centered around Vertico now) but much of the rest of the series is still worthwhile. You should watch it all to get a good sense for how to build your own Emacs config, you can switch packages later

    • @user-bi3du7or6e
      @user-bi3du7or6e Год назад

      @@SystemCrafters Thanks for the info

  • @Fipsoo
    @Fipsoo 3 года назад

    do you know if this Tutorial is also applicable for the windows version of emacs?

  • @travisarnold7384
    @travisarnold7384 2 года назад

    Do these instructions still work for Mac or Windows or is it Linux exclusive?

  • @dinukadev
    @dinukadev Год назад

    Emacs noob here :)
    Im on a mac and had to add a few if conditions for a few of the modes as I was geting a void error while evaluating the buffer. Is that intended or did I do something wrong?
    (if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1)) ; Disable visible scrollbar
    (if (fboundp 'tool-bar-mode) (tool-bar-mode -1)) ; Disable the toolbar
    (tooltip-mode -1) ; Disable tooltips
    (if (fboundp 'set-fringe-mode) (set-fringe-mode -1)); Give some breathing room
    Love this thank you for making this valuable content.

  • @kevyyar
    @kevyyar 3 года назад

    Are going to achieve this setup by the end of this series? Because let me tell ya, this is an awesome workflow! I'll keep on configuring my Emacs 'cause I'm a noob

    • @SystemCrafters
      @SystemCrafters  3 года назад +2

      Yep! The goal is to gradually show you how to build a setup like mine and then take it even further. It'll be a lot of fun!

  • @sammikell1261
    @sammikell1261 2 года назад

    What is the init.el~ file? I noticed it during your magit demo, and I see it in my directory too. I'm guessing it's some sort of file that was created by emacs, but I'm not sure of its use/purpose. While following along through this video I also saw some temporary looking files in the .emacs.d directory, such as #init.el# and #init.el~#. Could you shine a light on the existence of these files? I couldn't find much searching online.

    • @whukriede
      @whukriede 6 месяцев назад

      The tilde files are backup files.

  • @liftlinux9421
    @liftlinux9421 3 года назад

    I can feel your pail living in light mode
    That's why I have set everything to dark mode

  • @dewijones92
    @dewijones92 3 года назад

    thanks for this

  • @rfcantao
    @rfcantao 3 года назад +2

    Amazing video! A little bigger font would help a lot on mobile. Thank you :-)

    • @EeDineva
      @EeDineva 2 года назад

      agree. maybe setting the monitor resolution down might solve the issue for both emacs (demonstration and native OS)

  • @colbyboucher6391
    @colbyboucher6391 Год назад

    FYI orgmode's own elpa repo is depreciated since org-mode is already in. Also, if gnu's archive is failing to download, you might need to put the package-initialize command _before_ package-archives rather than after. (I can't put the actual URLs in, YT deletes the comments...)

  • @dewijones92
    @dewijones92 3 года назад +1

    can you use screenkey please

  • @onolopa
    @onolopa 3 года назад

    im still in the process of installing, but can i use these tutorials if i have spacemacs instead?

    • @SystemCrafters
      @SystemCrafters  3 года назад

      You might be able to benefit from some of them, but Spacemacs already has a lot of the same things configured already so these videos might not be quite as useful. Still, can't hurt to watch them to learn more about Emacs!

  • @JuanSanchez-qt1ue
    @JuanSanchez-qt1ue 3 года назад +1

    Did anyone had a problem with fetching the ivy package from melpa? In my case it said that the package was not found on melpa so I decided to manually install the ivy package myself following the instructions on ivy’s git repo and it works

    • @SystemCrafters
      @SystemCrafters  3 года назад +2

      You probably need to run 'package-refresh-contents' and then try installing it again. This is a common problem with package.el!

    • @JuanSanchez-qt1ue
      @JuanSanchez-qt1ue 3 года назад

      @@SystemCrafters Thank you for the help. When I execute the expression I get an error stating that my public key is outdated in the ~/.emacs.d/elpa/gnupg I’ve tried to update the key using every method I could find (like running the gnu-keyring-update) but non were successful. Do you personally know of a solution for getting the key?

    • @JuanSanchez-qt1ue
      @JuanSanchez-qt1ue 3 года назад

      Best solution I found was to update emacs to version 27

  • @definitelynotofficial7350
    @definitelynotofficial7350 3 года назад +1

    How do I make sure emacs uses that modified init file every time it starts up when I, for instance, click the icon, instead of having to use emacs -q -load init.el every time?

    • @SystemCrafters
      @SystemCrafters  3 года назад

      You don't need to use `emacs -q -load init.el`, I was just using that to keep my own Emacs configuration from being loaded. If you store your init.el file under ~/.emacs.d/init.el, Emacs will pick it up automatically when you start it.

    • @definitelynotofficial7350
      @definitelynotofficial7350 3 года назад

      @@SystemCrafters For some reason my emacs wasn't doing that automatically. I ended up modifying the .emacs file and it worked but I don't know why lol
      Do you know why it wasn't automatically picking up the init file in .emacs.d?

    • @justinparry5197
      @justinparry5197 2 года назад

      @@definitelynotofficial7350 I think the `.emacs` file is the original config file but it also checks for `.emacs.d/init.el` along with other files. I am guessing that `.emacs` is first in priority of checking and won't look again for another config file. So you just need one of the files, either `.emacs` or `.emacs.d/inti.el` but not both.

  • @easilok
    @easilok 3 года назад

    Hello David.
    I'm not a guy who comments frequently (if I ever commented at all) but I have to comment this one.
    I started using emacs a couple of months, after a few years of Vim, mainly because curiosity for all the environment features emacs provide. I went with doom emacs to dive into it and see all the potencial, and I'm quite please for now. But as a curious person, I want to know how it works in detail to make it fit all my workflow.
    I found you for the magit video, as I was trying to use, and as I was thinking on creating a config from scratch, I am pretty sure that following your lessons it will help me a lot.
    So please continue with these videos, easy to view and understand, and very helpfull.
    Thank you very much.

    • @SystemCrafters
      @SystemCrafters  3 года назад +1

      Thanks a lot for your comment! I love making these videos, I don't think I'll stop anytime soon :) Please feel free to leave comments with suggestions if there are other things you want to learn about in Emacs that haven't been covered by my existing videos!

    • @easilok
      @easilok 3 года назад

      @@SystemCrafters Don't know if it is a difficult thing, because I heard about it and I want to try it but I still had not the time, is the remote file editor with Tramp or any other package.

    • @SystemCrafters
      @SystemCrafters  3 года назад +1

      I will definitely cover TRAMP at some point!

  • @msherman77
    @msherman77 3 года назад

    The init.el for this tutorial failed in 2 different VMs running emacs 26.1. Do I need to run 27?

    • @SystemCrafters
      @SystemCrafters  3 года назад

      Where did it fail? Can you paste the error?

    • @msherman77
      @msherman77 3 года назад

      @@SystemCrafters
      error: Package ‘use-package-’ is unavailable
      To ensure normal operation, you should investigate and remove the
      cause of the error in your initialization file. Start Emacs with
      the ‘--debug-init’ option to view a complete error backtrace.
      with debugger
      Debugger entered--Lisp error: (error "Package ‘use-package-’ is unavailable")
      signal(error ("Package ‘use-package-’ is unavailable"))
      error("Package `%s-%s' is unavailable" use-package "")
      package-compute-transaction(nil ((use-package)))
      package-install(use-package)
      (if (package-installed-p 'use-package) nil (package-install 'use-package))
      eval-buffer(# nil "/home/michael/.emacs" nil t) ; Reading at buffer position 988
      load-with-code-conversion("/home/michael/.emacs" "/home/michael/.emacs" t t)
      load("~/.emacs" t t)
      #f(compiled-function () #)()
      command-line()
      normal-top-level()

  • @gugu2850
    @gugu2850 Год назад +1

    My doom-modeline crashes the emacs.

  • @kavindesivalli
    @kavindesivalli 3 года назад +1

    Nice video... just one doubt. Did you setup counsel in this video?

    • @kavindesivalli
      @kavindesivalli 3 года назад

      Where did he setup counsel? It didn't get setup for me

    • @SystemCrafters
      @SystemCrafters  3 года назад +1

      Thanks Kavin! I did install and configure Counsel but I don't think I ran the command that automatically rebinds all of the keys to use counsel commands. You can try adding (counsel-mode) to the use-package config for counsel or follow the documentation here:
      oremacs.com/swiper/#global-key-bindings
      Let me know if you still have trouble after that!

    • @kavindesivalli
      @kavindesivalli 3 года назад

      @@SystemCrafters This is one of the quickest replies I have seen. Thanks. Will try and let you know 😀

    • @kavindesivalli
      @kavindesivalli 3 года назад +1

      @@SystemCrafters It worked! Thanks a lot
      (use-package counsel
      :config
      (counsel-mode 1))

    • @SystemCrafters
      @SystemCrafters  3 года назад

      Awesome, glad to hear it worked!

  • @devflanker9702
    @devflanker9702 3 года назад

    I've already installed doom emacs, should i start over?

    • @SystemCrafters
      @SystemCrafters  3 года назад +1

      The nice thing about Emacs is that you don't really have to start over, you can just move your current .emacs.d folder out of the way and create a new one to experiment with a different configuration.

  • @vsotofrances
    @vsotofrances 3 года назад +1

    With juts ivy ..swiper is not installed

    • @SystemCrafters
      @SystemCrafters  3 года назад +1

      Yep, this is a mistake I made in that video, swiper and counsel need to be installed also. Sorry about that!

  • @aberges
    @aberges 3 года назад

    ivy doesn't install correctly on my system (emacs 27.1). It fails to install counsel and swiper.

  • @NightShroud092
    @NightShroud092 Месяц назад

    Very late addition. The reason your doom-modeline-height gives ' nil' back is because, if your font characters are too large the modeline height will default to the size of the characters. You need to set a face attribute with (set-face-attribute 'mode-line nil :height 120) and change the height to something smaller than default, this then should allow the modeline height to shrink.

  • @hrtmtbrng5968
    @hrtmtbrng5968 Год назад +1

    For me many of these things did not work. 1. The Fringe-Mode has no visible effect (whatever this should be). 2. Your package-archives variable does not work for me. Emacs is unable to download anything from the ELPA archive. I had to use add-to-list instead. 3. The doom-modeline needs the all-the-icons package manually installed and configured before it can be used. And a custom modeline is not really something, that is important for beginners. But thank you very much, anyway for that video.

  • @przemeks9121
    @przemeks9121 3 года назад

    Hi! I'm getting error: Package "use-package-" is unavailable. On Lubuntu 20.04, Emacs 27.1.

    • @SystemCrafters
      @SystemCrafters  3 года назад

      Hi! Can you paste the Emacs Lisp code where this error occurs?

    • @przemeks9121
      @przemeks9121 3 года назад

      @@SystemCrafters Hi! I fixed it. Well it just started working. No idea why.

    • @SystemCrafters
      @SystemCrafters  3 года назад

      I'm glad it's working for you now!

    • @shimash8955
      @shimash8955 3 года назад

      @@przemeks9121 but mine isn't fixed and I don't know what to do :(

  • @visualisierte
    @visualisierte 3 года назад

    I really enjoy your videos! How is it possible to support you with money? It would be great if you could provide a small documentation for every video. Thank you!

    • @SystemCrafters
      @SystemCrafters  3 года назад

      Thanks so much Marcus! I will start adding show notes to repo we use for the show. Is there any kind of documentation that would be helpful in particular? Suggested commands and keybindings for each package, etc?
      You're very kind to ask about supporting the videos. I just set up a GitHub Sponsors page if you're interested in supporting me there:
      github.com/sponsors/daviwil
      I should also be able to add memberships to my channel in the near future once I'm accepted as a RUclips Partner.

  • @zeocamo
    @zeocamo 3 года назад

    if you do C-z in a terminal and want to get back type fg and enter that send the program to the foreground

  • @quicksilver5413
    @quicksilver5413 2 года назад

    I like the fact that you are showing how to set up emacs from scratch but I do not think this is beginner friendly. You assume that some of the commands are already known but I had to spent quite some time just trying to figure out how to actually type out the commands you use like M-x Nx N-f, my screens in scratch buffer would keep getting messed up etc. I finally managed to evaluate the load-theme expression but it doesn't look the same as yours.

    • @SystemCrafters
      @SystemCrafters  2 года назад

      This was my first Emacs video so I wasn't well prepared for everything from a beginner's perspective. Check out my other video The Absolute Beginners Guide to Emacs, it might help

  • @Awwe12675
    @Awwe12675 2 года назад

    I subscribe because I love richard stallman