Si está programando Python usando Emacs, entonces probablemente debería estar usando el modo python. Con el modo python, después de marcar el bloque de código,
C-c >o C-c C-l desplaza la región 4 espacios a la derecha
C-c <o C-c C-r desplaza la región 4 espacios a la izquierda
Si necesita cambiar el código por dos niveles de sangría, o alguna cantidad arbitraria, puede anteponer el comando con un argumento:
C-u 8 C-c > desplaza la región 8 espacios a la derecha
C-u 8 C-c < desplaza la región 8 espacios a la izquierda
Otra alternativa es usar lo M-x indent-rigidlyque está obligado a C-x TAB:
C-u 8 C-x TAB desplaza la región 8 espacios a la derecha
C-u -8 C-x TAB desplaza la región 8 espacios a la izquierda
También son útiles los comandos de rectángulo que operan en rectángulos de texto en lugar de líneas de texto.
Por ejemplo, después de marcar una región rectangular,
C-x r o inserta espacio en blanco para llenar la región rectangular (efectivamente desplazando el código a la derecha)
C-x r k mata la región rectangular (efectivamente desplazando el código a la izquierda)
C-x r tsolicita una cadena para reemplazar el rectángulo con. Al ingresar C-u 8 <space>, se ingresarán 8 espacios.
PD. Con Ubuntu, para hacer que el modo python sea el modo predeterminado para todos los archivos .py, simplemente instale el python-modepaquete.
C-c >por derecho.C-c <para izquierda