如何用A替换空格[在emacs中

时间:2012-10-16 15:04:51

标签: regex emacs

我有一个像这样的输入文件

    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[,但得到同样的错误。

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

3 个答案:

答案 0 :(得分:4)

尝试

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

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

对于每种白色空间,

更漂亮可能是:^[[:space:]]+

答案 1 :(得分:1)

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

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

然后,点在以下*

*   line 1
    line 2
    line 3

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

    line 1
    line 2
   *line 3

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

答案 2 :(得分:1)

M-x query-replace-regex RET ^ + RET A[ RET

因为它不需要替换单个字符,所以不需要括号或类