将字符附加到Emacs中每行的末尾

时间:2011-02-02 04:12:56

标签: emacs

假设我有一个包含内容的文本文件

1
123
12
12345

如果我想在每行的开头添加一个'a',我可以简单地使用字符串矩形(Cx rt),但是如果我想在每行的末尾添加'a',之后怎么办呢?该文件应该成为

1a
123a
12a
12345a

感谢。

2 个答案:

答案 0 :(得分:58)

您可以将replace-regexp用于此目的,$ regexp元字符与行尾相匹配。转到缓冲区的开头,然后执行M-x replace-regexp,并将$和(您的文本)回答两个提示。

或者,在emacs中,请参阅添加a的具体示例:

M-< M-x replace-regexp RET $ RET a RET

答案 1 :(得分:20)

Emacs键盘宏是你的朋友。

C-x ( C-e a C-n C-x )

通过以下方式设置键盘宏:启动键盘宏( Cx(),转到行尾( Ce ),插入{{ 1}},转到下一行( Cn ),然后结束宏录制( Cx)

现在您可以执行它( Cx e ),并为要运行它的每一行按 e ,或者您可以在区域 Cx Ck r

如果你这么做,你可以保存宏,或者你可以编写一个函数。这将是一个这样的功能:

a