Emacs

skybert,
@skybert@emacs.ch avatar

Haven't used Emacs/tramp since 2003 and am freshly impressed by its capabilities: It lets me edit files on a remote server, connected through a proxy server using my locally installed and carefully tweaked Emacs.

Emacs rocks!

emacs/local → proxy → server/file<br></br>

I found the easiest was to add the ssh/proxy conf to ~/.ssh/config and then just do:

C-x C-f /ssh:server:/file<br></br>

The .ssh/config part is:

Host server<br></br>  Hostname server<br></br>  User remote-user<br></br>  ProxyCommand ssh proxy -W %h:%p<br></br>

fsf,
@fsf@hostux.social avatar

The Emacs Reference Card is very handy! And if you master what's inside, you'll save way more than $3 of time. https://u.fsf.org/3iz

djrmarques,
@djrmarques@emacs.ch avatar

What is your undo strategy on ? I kinda use the default via the undo function, but somehow I am not too happy with it. Feels like sometimes it undos too much, and then I cannot revert back to the previous state.

louis,
@louis@emacs.ch avatar

@djrmarques I use undo-tree to mimick the undo behaviour as I would expect it from any other text editor:

https://elpa.gnu.org/packages/undo-tree.html

mykhaylo,
@mykhaylo@fosstodon.org avatar

@djrmarques try vundo

louis,
@louis@emacs.ch avatar

That's your chance to actively participate in the next EmacsConf:

Call for participation:
https://emacsconf.org/2023/cfp/

publicvoit,

Anything you would like to see me talking about at ?

Call for participation:
https://emacsconf.org/2023/cfp/

ctietze,
@ctietze@mastodon.social avatar

@publicvoit Oof, you've had a ton of topics on your blog! What about a poll of the N things you're most excited about a.t.m.?

louis,
@louis@emacs.ch avatar

That's your change to actively participate in the next EmacsConf:

https://emacsconf.org/2023/cfp/

mandarvaze,

Accidentally discovered glasses mode :)
https://microblog.desipenguin.com/post/emacs-glasses-mode/

summeremacs,

And now for the last one: I came up with an idea two days ago and announced it on /r/emacs. It's a colouring system for items in . Almost none of my programmer friends could figure out why I would want to colour files different, which is funny because I can't think of a perfect system which doesn't use colours like this.

But somebody made it for me and it's now available and it works great. 💖 Thank you Karthink!

Dired-Delight
https://github.com/karthink/dired-delight

ctietze, (edited )
@ctietze@mastodon.social avatar

@summeremacs It's good :) I can see myself marking stuff this way.

After looking at your screenshots, might I interest you in sexier tab numbers on Mac? :D

https://christiantietze.de/posts/2023/01/use-sf-pro-for-sf-symbols-everywhere-in-emacs/

https://christiantietze.de/posts/2022/12/sf-symbols-emacs-tab-numbers/

summeremacs,

@ctietze I'm gonna check out your posts after. I just added them to my inbox. TY!

louis,
@louis@emacs.ch avatar

4th session with Prot today. :emacs:

(I almost overslept, woke up 10 minutes before. Prot probably thought I was having a bad hair day.)

If you are following this, please consider trying out his services for your own needs:
https://protesilaos.com/coach/

Or, if you use any of Prot's excellent packages or themes, consider donating if you can:
https://github.com/sponsors/protesilaos

So let's start.

Today we setup Denote and went through some of its main features. What I like about it:

  • It is major mode agnostic. You can use it with Markdown, Org, Plaintext or whatever you want
  • It can be used to organize any kind of files (i.e. your picture folder). Denote happily renames and tags your files any way you want
  • Denote supports Backlinks. You can even automatically insert the backlinks into a note using Dynamic Blocks. Example:

(#)+BEGIN: denote-backlinks
(#)+END:

By executing this block the backlinks are automatically inserted into the note. You have to put this in your config to make this work:

(require 'denote-org-dblock)

  • Denote does not implement features that are already in Emacs, i.e. Search. That's my challenge I had with Denote, but as it turned out, with a package like consult you can easily search either by filename with consult-find or through the content of all notes with consult-ripgrep.

While doing this we discovered that global-emojify-mode interfered with minibuffer completions so that Emacs always froze for a few seconds when starting a consult-find. We found it out by using the amazing Emacs profiler (profiler-start). So if you experience this, consider turning on emojify-mode selectively.

In our next session we'll talk about "Organizing with notes" on a non-technical level. Prot will share some of his experiences, because I'm notoriously disorganized.

Note: I do not receive any benefits by posting about this.

mdallastella,

@louis Prot is such a great guy! 😊

publicvoit,

@louis I'd really love to join your session about non-tech stuff! I think this would be an awesome session. (Un)fortunately, I'm away from my computer until next week Tuesday.

oatmeal,
@oatmeal@emacs.ch avatar

Dired Delight lets you tag files in Dired, Emacs’ file manager, with colors https://github.com/karthink/dired-delight Via @summeremacs

Anoncheg,
  1. fixed emacs: message of found auto save # was hidden by another messages
  2. I learned code extension mechanism called "advice", it can add code before/after/around any Elisp defined function.
  3. I enhance my scripts with image posting to , I use Org mode and call saved bash scripts,
    here is how it looks now:
oatmeal,
@oatmeal@emacs.ch avatar

I really like the automatic window handling feature in prot’s new dired-preview, which automatically previews the file at point in a side window https://git.sr.ht/~protesilaos/dired-preview

zwol,

A more coherent statement of the question from last night (https://hackers.town/@zwol/110591213611911616):

In any buffer in which Flymake is active, I want the stock command next-error to move point to whichever of these two locations is closest to the current location of point: where it would have moved it normally, and where flymake-goto-next-error would move it. (It is okay if prefix args other than 1 and -1 behave bizarrely.)

Additionally, if the location actually moved to is the location of a Flymake diagnostic, flymake-show-buffer-diagnostics should be invoked and point in that buffer should be placed on the diagnostic associated with the location moved to in the source buffer. (Basically match the behavior of a regular old compilation-mode buffer when next-error is scanning it.)

I'm pretty sure this could be done with some advice applied to next-error but I'm not smart enough today to code it up myself. Has anyone already implemented this?

morenonatural,
@morenonatural@todon.nl avatar

@zwol no need for advice... if you want to use next-error you can customize next-error-function

zwol,

@morenonatural Thanks for the suggestion! I had to define a next-error-find-buffer-function as well, but it's pretty simple.

yugaego,

Jaw falling day:

  • civil war in russia
  • new release
  • what's next 👾 👽 👾

https://www.xemacs.org/Releases/21.5.35.html

dekkzz76,
@dekkzz76@emacs.ch avatar

@yugaego

you breaking out into a song n dance routine in the fruit n veg counter at meijer

yugaego,

@dekkzz76 yeah maybe if i got you right. with Billy Holliday in the background.

mfru,

hey you guile magicians!

i am stuck with a problem: i want to use (run-server my-handler) and change the definition for my-handler during development (REPL-driven workflow), but no matter what i do (i.e.: passing (lambda (request body) (my-handler request body)) it won't use my changed definition when i.e. change "Hello world!" to "Hello world1!" :(

i then need to restart the guile repl (basically restarting the server) to see my changes, please help!

abcdw,
@abcdw@fosstodon.org avatar

@mfru I drafted one hacky solution (the first thing came to my mind) for that, but later I'll make something saner: https://git.sr.ht/~abcdw/guile-nrepl/tree/aef33b495f870f7c4acb4e3097a3470839d27287/src/nrepl/server.scm#L249

ryuslash,

I do miss some things from Gnus, but the more I use in the more I like it. I didn't want to go to my terminal or vterm every time I want to get my mail, so I added a section to the hello screen with a button to call notmuch for me. Easy!

https://git.sr.ht/~ryuslash/emacs-config/commit/748db4a4ee2f2e474f6a295cd417c65e3c5ad88a

ryuslash,

@dekkzz76 @sqrtminusone yeah I realize that, and before using notmuch I did have mbsync on a timer, and my initial plan was to use mcron, but now I call mbsync in the pre-new hook of notmuch and I've kinda grown used to it that way. Now I prefer doing it manually because I don't want notmuch to start deleting things tagged as deleted (again something I do in pre-new) while I'm still going through my email.

dekkzz76,
@dekkzz76@emacs.ch avatar

@ryuslash @sqrtminusone

i don't delete anything via notmuch

tip for notmuch, regularly compact the xapian databases

daviwil,
@daviwil@fosstodon.org avatar

🔴 Today on Live, we'll try out the Elpaca package manager for Emacs! This project offers some nice features including asynchronous installs and an improved package management UI.

Let's experiment with it to see if it deserves a home in your configuration!

Join us on YouTube or Twitch (in about 30 minutes!)

🕐 in your time zone: https://time.is/compare/1800_in_Athens

louis,
@louis@emacs.ch avatar

Does anyone use to log their time and work? What do you use, just tables or any tips for good packages?

polaris64,

@louis I use basic Org mode: org-clock-in/out and then org-columns to show the aggregated clocked times for a set of tasks

thees,
@thees@emacs.ch avatar

@louis I use the defaults for clocking my projects:

I do have a top level heading for each project I’m working on; and track the corresponding tasks within the sub levels. This allows me to also make better assumptions on how time intense certain tasks are/enables me to give better estimates.

exv,

just discovered enriched-mode in . step aside org mode I'm gonna use RFC-1896 for everything now :smugcat:

ctietze,
@ctietze@mastodon.social avatar

@exv Never herd of text/enriched ever before this. What a quirky thing.

fatlimey,
@fatlimey@mastodon.gamedev.place avatar

Guy from the future appears in your coffee shop. Turns out it's @lisperati writing a game in on his Yoga Book i9 using a 7 year old 40% keyboard using angry fruit salad mode. You're just 5 years behind the curve man.

image/jpeg

zwol,

Hey nerds, a weirdly specific question that's impossible to search for because punctuation: Has anyone already written code that merges diagnostics from flymake with diagnostics from compilation-mode, presents a unified list of both, and makes C-x ` walk through that list?

zwol,

(I am aware that this is actually one of flycheck's headline features, but flycheck and eglot don't get along AFAICT, and lsp-mode isn't an option for me because it isn't on speaking terms with rust-analyzer, for reasons too infuriating to go into.)

xgqt,
@xgqt@emacs.ch avatar

A trick to quickly select previously coped text in so-called kill-ring using (popup-menu 'yank-menu) does not work anymore with 30.0.

I first thought that the propertized strings inside kill-ring might be causing this but this is also seems to be some incompability with popup-menu.

I had to rewrite my browse-kill-ring function to use completing-read instead.

tivasyk, Ukrainian
@tivasyk@mastodon.social avatar

learning vs learning is a bit like learning magic vs learning a language.

magic: you have to learn spells to get predictable results, every spell is specialized, need different result -- learn a different spell. looks cool and goes boom!

language: you learn basic tokens and rules and can build basic phrases. as you get more proficient and try to combine the same tokens differently, you get more complex phrases for more powerful results.

i'd pick a language every time over magic.

mykhaylo,
@mykhaylo@fosstodon.org avatar

@tivasyk as long as there's no vs code involved, both are great

trexd,

Hooks in Emacs are especially confusing when looking at documentation that doesn't refer to use-package. People reference adding hooks but the question is where the hell do I put this in my config? Does it go under the lsp config or the mode config? Oh and btw don't forget to remove the "-hook" prefix or you'll get weird silent errors when adding hooks to the ":hook" section.

daviwil,
@daviwil@fosstodon.org avatar

@ctietze @trexd

Use this to remove the auto-hook logic:

(setq use-package-hook-name-suffix nil)  

You can usually set up hooks anywhere in your init because they don't get executed until the corresponding action occurs.

trexd,

@ctietze @daviwil

Ah this isn't so much a cry for help post but more of a growing pains post of moving to a new editor. The System Crafters posts have certainly been helpful on my journey :)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • emacs
  • DreamBathrooms
  • mdbf
  • ngwrru68w68
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • osvaldo12
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • InstantRegret
  • tacticalgear
  • anitta
  • ethstaker
  • provamag3
  • cisconetworking
  • tester
  • GTA5RPClips
  • cubers
  • everett
  • modclub
  • megavids
  • normalnudes
  • Leos
  • JUstTest
  • lostlight
  • All magazines