I'm looking for a way in emacs to shift text to the right or to the left by n
spaces. A similar functionality that it in vim <<
or >>
. It should work on a region or if no region is selected on a current line and not move the cursor from its current location.
The solution from EmacsWiki does not work very well as the M-x indent-rigidly
since it somewhat remembers the last region used and shifts that one instead. The closest seems to be the one here but I did not managed to make it work. I'm not a lisp developer so it's difficult to modify the code. I will appreciate any help.
Thanks!
You could select the region then
C-u C-x <tab>
will shift 4 spaces. You can type a number after C-u to change 4 to anything else.To achieve this I usually do a trick:
This can be done also programmatically in some way (in the same way).
EDIT: I've just read the article in emacs wiki, it's the same solution except for the CUA mode that is infinitely more powerful than the "common" rectanguar selection (since it's visual).
Maybe this works the way you want.