0

我有一个这样的输入文件

    line 1
    line 2
    line 3

我要替换的所有行之前有四个空格。

我希望最终结果是:

A[line 1
A[line 2
A[line 3

(这很有趣,所以编辑器不想逐行显示)

我试过了M-x replace-regex ^[]+ -> A\[,但得到错误invalid regex "Unmatched [ or [^"

我试过了M-x replace-regex ^[]+ -> A[,但得到同样的错误。

更换[是个问题。如何解决这个问题?

4

3 回答 3

4

尝试

M-x query-replace-regex RET ^    RET A[ RET
                             ^^^
                          notice the 4 spaces here

在您的示例中,您在字符类中缺少一个空格:^[ ]+

更漂亮的可能是:^[[:space:]]+对于每一种空白。

于 2012-10-16T15:11:58.203 回答
1
M-x query-replace-regex RET ^ + RET A[ RET

因为它是一种要替换的字符,所以不需要括号或类

于 2012-10-16T18:34:32.807 回答
1

矩形为您提供了另一种处理这些问题的方法。Cua-mode提供了一个更好的系统。要使用它,首先将以下内容添加到您的 .emacs 中:

(setq cua-enable-cua-keys nil)
(cua-mode)

然后,*在下面的点:

* 第 1 行
    2号线
    3号线

点击C-enter,然后使用箭头键(或C-nC-f)移动指向:

    1号线
    2号线
   *第 3 行

空白将全部突出显示。键入A[以插入字符。然后点击C-w删除空格。

于 2012-10-16T17:31:09.347 回答