this post was submitted on 22 Oct 2023
2 points (100.0% liked)

Emacs

314 readers
2 users here now

A community for the timeless and infinitely powerful editor. Want to see what Emacs is capable of?!

Get Emacs

Rules

  1. Posts should be emacs related
  2. Be kind please
  3. Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.

Emacs Resources

Emacs Tutorials

Useful Emacs configuration files and distributions

Quick pain-saver tip

founded 1 year ago
MODERATORS
 

Hey, folks.

I've been digging around to see if there's a package for this but the closest I've found is expand-region and that's not quite it...

Take the indent level and block at the line where the point currently sits and set the mark region to the end of the current block + indent level. I hope that explanation is clear.

This seems very much in the wheelhouse of Emacs and I'm guessing it exists -- maybe even in core as opposed to a package -- and I'm just not looking in the right place.

thx

top 5 comments
sorted by: hot top controversial new old
[–] desquared@alien.top 1 points 1 year ago (1 children)

In org mode, you can select the entire heading when point is somewhere in the middle with:

C-c p to move to the headline

M-h to mark the "paragraph", which in org marks the entire entry.

Likely not quite what you want, but it seems worth mentioning.

[–] InfiniteBarnacle9@alien.top 1 points 1 year ago

Thanks. In this case I'm not only working with Org Mode but I can at least dive into that function and see how it is accomplishing the task for Org.

[–] JDRiverRun@alien.top 1 points 1 year ago (1 children)

No need for a package, this is a great chance to learn some elisp. To get you started:

(let ((cur (current-indentation)))
  (push-mark nil t t)
  (while (and (not (eobp)) (= (current-indentation) cur))
    (forward-line 1)))
[–] InfiniteBarnacle9@alien.top 1 points 1 year ago (1 children)

Nice. I think mark-defun is going to work out per other comments here but this is interesting.

Related question... I've not done a ton of elisp hacking but can I ask how you found uot about these functions? I've never heard of the two key ones: eobp and current-indentation.

[–] JDRiverRun@alien.top 1 points 1 year ago

Start with the Elisp intro; it’s great. M-x shortdoc buffer gives a nice overview of buffer commands. I love consult-info for general searching of the Elisp (and other) info files. But M-x apropos-function is builtin and useful too.