Asked By – Vernon
Working with Python in Emacs if I want to add a try/except to a block of code, I often find that I am having to indent the whole block, line by line. In Emacs, how do you indent the whole block at once.
I am not an experienced Emacs user, but just find it is the best tool for working through ssh. I am using Emacs on the command line(Ubuntu), not as a gui, if that makes any difference.
Now we will see solution for issue: Emacs bulk indent for Python
If you are programming Python using Emacs, then you should probably be using python-mode. With python-mode, after marking the block of code,
C-c > or
C-c C-l shifts the region 4 spaces to the right
C-c < or
C-c C-r shifts the region 4 spaces to the left
If you need to shift code by two levels of indention, or some arbitary amount you can prefix the command with an argument:
C-u 8 C-c > shifts the region 8 spaces to the right
C-u 8 C-c < shifts the region 8 spaces to the left
Another alternative is to use
M-x indent-rigidly which is bound to
C-u 8 C-x TAB shifts the region 8 spaces to the right
C-u -8 C-x TAB shifts the region 8 spaces to the left
Also useful are the rectangle commands that operate on rectangles of text instead of lines of text.
For example, after marking a rectangular region,
C-x r o inserts blank space to fill the rectangular region (effectively shifting code to the right)
C-x r k kills the rectangular region (effectively shifting code to the left)
C-x r t prompts for a string to replace the rectangle with. Entering
C-u 8 <space> will then enter 8 spaces.
PS. With Ubuntu, to make python-mode the default mode for all .py files, simply install the
This question is answered By – unutbu
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0