如何在Emacs中用换行符替换字符?

时间:2009-03-04 23:50:14

标签: emacs replace

我正在尝试使用Emacs中的;和/或replace-string替换一个字符 - 比如说replace-regexp - 。

我尝试过以下命令:

  • M-x replace-string RET ; RET \n

    这会将;替换为2个字符:\n

  • M-x replace-regex RET ; RET \n

    这会导致以下错误(显示在迷你缓冲区中):

      

    替换文字中使用“\”无效。

使用replace-string执行此任务有什么问题?还有其他办法吗?

感谢。

6 个答案:

答案 0 :(得分:383)

Mx replace-string RET ; RET Cq Cj

  • C-q quoted-insert

  • C-j 是换行符。

干杯!

答案 1 :(得分:65)

我发现有四种方法可以将新行放入迷你缓冲区。

  1. C-O

  2. C-q C-j

  3. C-q 12(12是换行符的八进制值)

  4. Cx o 到主窗口,用 Ck 杀死换行符,然后 Cx o 回到迷你缓冲区,猛拉它与 Cy

答案 2 :(得分:22)

不要忘记,您可以随时剪切并粘贴到迷你缓冲区中。

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

答案 3 :(得分:8)

更明确地说:

要用换行符替换半冒号字符(;),请按照以下步骤操作。

  1. 将光标定位在包含要更改的文本的缓冲区的左上角
  2. 键入m-x replace-string并按RETURN
  3. 迷你缓冲区将显示如下内容: 替换字符串(默认为^ - >):
  4. 输入要替换的字符。在这种情况下, ; 然后点击RETURN
  5. 迷你缓冲区将显示如下内容: 串用:
  6. 现在执行C-q C-j
  7. 所有分号实例都将替换为换行符(从光标位置到缓冲区末尾将会出现)
  8. 比原来的解释所说的要多得多。

答案 4 :(得分:2)

切换到文字模式

M-x text-mode

突出显示要缩进的块

缩进

C+M \

切换回任何模式..

答案 5 :(得分:0)

仅内联: <div class="itempanel"> <div class = "itemcontainer"> <div id="itemdisplay" class="itemdisplay"> <img id="itemimg" class="itemimg" src=""></img> <div id="itemdesc" class="itemdesc"> <div id="itemtitle" class="itemtitle"></div> <div id="itembody" class="itembody"></div> <a id="itemclick" class="itemclick" href="">Click To Place Order</a> </div> </div> </div> </div> (如果绑定键仍为默认值) C-M-S-% ^ J