当用字符串替换矩形内容时,我似乎无法在其中插入换行符。
我尝试按Enter键,它只是完成了字符串编辑并将其替换为矩形内容。
我还尝试了'Ctrl + q',用于引号插入,然后键入'Enter',但是emacs键入了'^ M'。
我的问题:
<img id="img1" src="images/img1.jpg">
<img id="img2" src="images/img1.jpg">
<img id="img3" src="images/img1.jpg">
我想同时向所有这些行添加一个属性,如下所示:
<img id="img1" onclick="load_another_image()" src="images/img1.jpg">
<img id="img2" onclick="load_another_image()" src="images/img1.jpg">
<img id="img3" onclick="load_another_image()" src="images/img1.jpg">
然后我想在新放置的函数之后插入换行符,以免行变得太大:
<img id="img1" onclick="load_another_image()"
src="images/img1.jpg">
<img id="img2" onclick="load_another_image()"
src="images/img1.jpg">
<img id="img3" onclick="load_another_image()"
src="images/img1.jpg">
我也找到了这个post,但是它并不能完全回答问题。
那么,如何在字符串中添加换行符以替换emacs中的矩形内容?
答案 0 :(得分:2)
希望我没有误解你的目标。但是,这里有:
2)在顶部设置标记(对我来说,其 CTRL + SPACE )
4)现在我们需要运行命令( M + x 字符串矩形) 对我来说,它映射到键盘快捷键 CTRL + x R T
5)然后开始输入文本,您应该在矩形中看到它的实时编辑。当您感到高兴时,请按Enter:
希望这会有所帮助。如果您想换行('\ n'),则应使用一个调用来查询使用捕获模式替换正则表达式(如果需要,我可以解释更多内容)
答案 1 :(得分:2)
我尝试按Enter键,它只是完成了字符串编辑并将其替换为矩形内容。
我还尝试了'Ctrl + q',用于引号插入,然后键入'Enter',但是emacs键入了'^ M'。
[...]
那么,如何在字符串中添加换行符以替换emacs中的矩形内容?
您非常接近解决方案。
换行符不是^M
,而是^J
。
也就是说,不要键入 Cq RET (由于历史原因,它与 Cq Cm 相同)您想要的:
C-q C-j
在 RET 做一些不同的事情的任何情况下,这都是插入换行符的方法。 (有关另一个示例,请参阅找到并链接到的问答。)
这似乎可以与string-rectangle
可靠地一起使用,并且您也可以将其与multiple-cursors
库一起使用。
对于cua-set-rectangle-mark
,我不确定-它可以在那里工作,因为几分钟前我第一次进行测试时,它就可以工作了。但是我也看到它只在其中一个位置插入换行符,所以它要么不可靠,要么我就错过了一些东西。
答案 2 :(得分:1)
Emacs包含两个矩形实现,一个在CAAnimation
中,一个在super
中。我更喜欢cua-rect.el
。请注意,rect.el
独立于cua-rect
。
执行cua-rect
(我将其绑定到cua-mode
),请注意,在开始移动之前,微型缓冲区中有一些帮助(尽管您可能不需要此任务),扩展矩形与箭头,键入一些文本。文本将插入到矩形的每一行中,并将插入到光标所在的列中。
答案 3 :(得分:1)
我不清楚您要在示例中在哪里插入换行符。
我要说的是,如果您使用multiple-cursors
,则默认情况下可以使用 C-j 插入换行符。如果要 Enter 插入换行符,则可以在配置中使用(define-key mc/keymap (kbd "<return>") nil)
。