After this post, here is how you can ACTUALLY do all of that with Emacs.

All of these Emacs extensions are basically text-based and more or less difficult to use. You WILL have the core functions of the Google stuff, but don’t expect to have a good time.

Degoogling:

For all my Emacs users out there, am I missing something ? Do you have alternatives / more usable recommandations ?-

  • Sudo Sodium @lemdro.id
    link
    fedilink
    English
    arrow-up
    3
    ·
    4 days ago

    Thank you, I’ll take your notes into consideration , currently it’s just learning C , I use Code::Block for it

    • Sunoc@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      2
      ·
      4 days ago

      Sweet! It’s actually my main language. C mode is built-in so no concern on that side.

      Some general advice:

      • I leaned it way too late, but you can use M-x compile and then type your build command (make clean && make all) instead of using a terminal to compile your project.
      • Try to learn a bit about Makefiles, it’s useful. Avoid cmake like plague.
      • C is great for embedded, so you should look up TRAMP if that’s your use case; it basically removes the need for SSH-ing from a shell.

      To have Emacs behave like an IDE:

      • Install clang17 clang17-extra-tools bear on the host system.
      • Configure eglot and company in your Emacs config:
      (use-package eglot)
      (add-hook 'c-mode-hook 'eglot-ensure)
      (with-eval-after-load 'eglot
        (add-to-list 'eglot-server-programs
                     '((c-mode c++-mode)
                       . ("clangd"))))
      
      (use-package company)
      (add-hook 'after-init-hook 'global-company-mode)
      
      • Use the bear tool (ex. bear --config bear_config.json -- make all) to make the non-trivial project understandable by Emacs. Since it re-uses your Makefile, it even works for cross-compilation!

      Good luck!