orgmode icon indicating copy to clipboard operation
orgmode copied to clipboard

Support `org_do_promote` and `org_do_demote` in visual mode

Open lyz-code opened this issue 11 months ago • 2 comments

Does this feature exist in Emacs orgmode core?

N/A

Orgmode link

No response

Feature value

I often need to promote and demote many elements at the same time, for example:

A group of headings:

* Heading 1
** SubHeading 1
** SubSubHeading 1 <-- heading to demote
** SubSubheding 2  <-- heading to demote

The content of a heading (following the case shown in https://github.com/nvim-orgmode/orgmode/issues/859)

* Heading 1
****** SubHeading 1
  - Line 1 <-- content to promote
    - Subline 2 <-- content to promote
  - Line 2 <-- content to promote

The natural way for me is to select all the content in visual mode and use >> or << but it falls back to the default nvim indentation change and adds the spaces:

* Heading 1
** SubHeading 1
  ** SubSubHeading 1 
  ** SubSubheding 2 
* Heading 1
****** SubHeading 1
	  - Line 1
	    - Subline 2
	  - Line 2

Additional context

No response

lyz-code avatar Jan 18 '25 12:01 lyz-code

@kristijanhusak I have actually a question about an issue related to this feature in a more conceptual manner: There are a couple of commands, which would be very useful in another mode than normal mode. In visual mode for example I would like to be able to add links to a selected text where a selected text gets the link description after inserting the link. When I looked at the codebase I hesitated to implement this, because the way, commands are hooked to the configuration seems to bind them very tight to normal mode. Is this true or do I just have a misunderstanding of the code? If I am correct, do you have plans to change that? There are a couple of other things in different modes I would find useful, like org-meta-return in insert mode.

@lyz-code Sorry for kind of derailing your issue. I would actually be quite happy to see your proposed feature implemented.

seflue avatar Jan 26 '25 19:01 seflue

@seflue It's not that hard to add support for more modes. I added your suggestion in https://github.com/nvim-orgmode/orgmode/commit/0ef840ab9d9204b8b487f49f7428eb9c8ec2e5d2 since I believe it's useful.

For this one is trickier because of the possible shifts between the same selected region.

kristijanhusak avatar Jan 26 '25 20:01 kristijanhusak