如何在 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 選項卡’

將區域中的每行向右或向左移動固定距離(「嚴格縮排」)。移動的距離由數字參數決定(正數向右移動,負數向左移動)。

答案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) 放在第一行的開頭,將 point 移到最後一行的開頭,然後按下C-x r tfor string-rectangle。它會要求您在每行插入一個字串;您可以在那裡輸入所需數量的空格。

(如果點和標記不在同一列,它將用點和標記中的角落替換矩形中的文字。)

相關內容