我在试着替换一个角色——比如说;-在Emacs中使用replace-string和/或replace-regexp创建新行。

我尝试了以下命令:

M-x替换字符串RET;RET \ n 这将取代;有两个字符:\n。 M-x replace-regex RET;RET \ n 这会导致以下错误(显示在迷你缓冲区中): 在替换文本中无效地使用"。

在这个任务中使用replace-string有什么问题?还有别的办法吗?


当前回答

M-x替换字符串RET;RET C-q C-j。

C-q表示引用插入, C-j是换行符。

其他回答

切换到文本模式:

M-x text-mode

突出显示要缩进的块。

缩进:Ctrl + M </kbd>

切换回任何模式…

M-x替换字符串RET;RET C-q C-j。

C-q表示引用插入, C-j是换行符。

更明确:

要将分号字符(;)替换为换行符,请遵循以下确切的步骤。

将光标定位在要更改的文本所在缓冲区的左上方 输入m-x replace-string并点击Return 迷你缓冲区将显示如下内容: 替换字符串(默认^ ->): 输入要替换的字符。在这种情况下,; 点击返回 迷你缓冲区将显示如下内容: 字符串;: 现在执行C-q C-j 所有分号的实例将被替换为换行符(现在将显示从游标位置到缓冲区末尾的位置)

有一点比原来的解释说。

我发现了四种将换行符放入迷你缓冲区的方法。

切断 C-q C-j C-q 12(12是换行符的八进制值) C-x - o到主窗口,用C-k终止换行,然后用C-x - o返回到小缓冲区,用C-y终止换行

不要忘记,您总是可以剪切和粘贴到迷你缓冲区中。

因此,您可以从缓冲区中复制换行符(或任何字符串),然后在提示输入替换文本时将其删除。