(emacs)在矩形中插入换行符
当用字符串替换矩形内容时,我似乎无法在其上插入换行符 我试过按Enter键,它刚刚完成字符串编辑,并将其替换为矩形内容 我还尝试了“Ctrl+q”,用于引号插入,然后键入“Enter”,但emacs在“^M”中键入 我的问题是:(emacs)在矩形中插入换行符,emacs,Emacs,当用字符串替换矩形内容时,我似乎无法在其上插入换行符 我试过按Enter键,它刚刚完成字符串编辑,并将其替换为矩形内容 我还尝试了“Ctrl+q”,用于引号插入,然后键入“Enter”,但emacs在“^M”中键入 我的问题是: 我想同时在所有这些行中添加一个属性,如下所示: 然后我想在新放置的函数后插入一个换行符,这样该行就不会变得太大: 我也发现了这个,但它并没有完全回答这个问题 那么,如何将换行符添加到字符串中以替换emacs中的矩形内容呢?emacs包含两个矩形实现,一个在c
我想同时在所有这些行中添加一个属性,如下所示:
然后我想在新放置的函数后插入一个换行符,这样该行就不会变得太大:
我也发现了这个,但它并没有完全回答这个问题
那么,如何将换行符添加到字符串中以替换emacs中的矩形内容呢?emacs包含两个矩形实现,一个在
cua rect.el
中,另一个在rect.el
中。我更喜欢cua rect。请注意,cua rect
独立于cua模式
请执行
M-x cua矩形标记模式
(我将此绑定到C-RET
),注意在开始移动之前,微型缓冲区中有一些帮助(尽管您可能不需要它来执行此任务),用箭头扩展矩形,键入一些文本。文本将插入矩形中的每一行,并将插入光标所在的列。希望我没有误解您的目标。但是,这里有:
1) 将光标移动到要插入文本的顶部:
2) 在顶部设置标记(对我来说是CTRL+空格)
3) 将光标移动到区域底部:
4) 现在我们需要运行命令(M+x字符串矩形)
对我来说,它映射到键盘快捷键CTRL+XRT
5) 然后你开始输入你的文本,你会看到它在矩形中实时编辑。当您高兴时,按enter键:
希望这有帮助。如果要执行新行('\n'),则应使用一个调用来查询并使用捕获模式替换正则表达式(如果需要,我可以解释更多)我不清楚您在示例中尝试在何处插入新行 我会说,如果您使用,您可以在默认情况下使用C-j插入换行符。如果希望Enter插入换行符,可以在配置中使用
(define key mc/keymap(kbd“”)nil)
我试过按Enter键,它刚刚完成字符串编辑,并将其替换为矩形内容
我还尝试了“Ctrl+q”,用于引号插入,然后键入“Enter”,但emacs在“^M”中键入
[……]
那么,如何将换行符添加到字符串中以替换emacs中的矩形内容呢
你非常接近解决方案
换行符不是^M
,而是^J
也就是说,您不需要键入C-qRET(出于历史原因,它与C-qC-m相同),而是需要:
C-qC-j
这是在RET执行不同操作时,在任何情况下插入换行符的方法。(有关另一个示例,请参见您找到并链接到的问答。)
这似乎可以可靠地用于字符串矩形
,您也可以将其用于多个游标
库
使用
cua设置矩形标记
我不确定——它可以在那里工作,因为几分钟前我第一次测试时它工作了;但我也看到它只在其中一个位置插入一个换行符,所以它要么不可靠,要么就是我遗漏了什么。我不清楚(对我来说)你在问什么。请一步一步地展示您尝试过的内容(使用矩形)。在您的示例中,不清楚在何处插入换行符-期望的结果似乎与原始结果具有相同的行-没有额外的换行符。注意。您可以键入C-qc-j
在所有位置插入换行符。谢谢phils,这正是我想要的。注意。您可以键入C-q C-j
在所有位置插入换行符。Ooh。大概我突然无法重现这种行为,但我以前可以——所以这肯定是可能的,但我也遗漏了一些东西……是的,我没有看到问题的新行部分,而且似乎cua rect
不允许这样做。