如何在 emacs 中移动文本行?

如何在 emacs 中移动文本行?

我有一组这样的行:

This is a row.
This is row 2.
This is row 3.

我想像这样将它们转移到x多个空格/制表符上。

    This is a row.
    This is row 2.
    This is row 3.

有没有办法选择这些行并进行某种操作M-x region-tab-n

答案1

`Cx TAB'

将区域中的每一行向右或向左移动固定距离(“严格缩进”)。移动的距离由数字参数决定(正数表示向右移动,负数表示向左移动)。

答案2

如果您知道要在每行前面留多少个空格:选择文本作为区域,然后应用M-n C-M-\,其中n是您要缩进的空格数。M-n是命令 的数字参数C-M-\。该命令本身C-M-\会将区域中的所有行移到左侧(零空格)。

要右移n空格:M-n C-x TAB

向左移动n空格:M-- M-n C-x TAB

答案3

另一种方法是将标记 ( C-SPC) 放在第一行的开头,将鼠标移到最后一行的开头,然后点击C-x r tstring-rectangle它会要求您在每行中插入一个字符串;您需要在那里输入所需的空格数。

(如果点和标记不在同一列,则用点和标记的角替换矩形内的文字。)

相关内容