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.
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 >orC-c C-lshifts the region 4 spaces to the rightC-c <orC-c C-rshifts the region 4 spaces to the leftIf 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 rightC-u 8 C-c <shifts the region 8 spaces to the leftAnother alternative is to use
M-x indent-rigidlywhich is bound toC-x TAB:C-u 8 C-x TABshifts the region 8 spaces to the rightC-u -8 C-x TABshifts the region 8 spaces to the leftAlso 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 oinserts blank space to fill the rectangular region (effectively shifting code to the right)C-x r kkills the rectangular region (effectively shifting code to the left)C-x r tprompts for a string to replace the rectangle with. EnteringC-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
python-modepackage.