从 Emacs 24.4(我认为)开始,cj 和 ret 已被交换,因此 indent 现在在 ret 之后调用。并且文本模式下的那些缩进是相对于缩进的,因此,当您粘贴缩进的代码时,代码将以对角线粘贴,而不是对齐:
# copied code
line1
line2
line3
# pasted
line1
line2
line3
我可以解决这个问题electric-indent-mode
(flip/flop 命令),但我喜欢在文本模式下书写时的缩进相对行为。我只想在粘贴文本时将其关闭。
是否有人有代码可以用来设置粘贴快捷方式,即调用 electric-indent-mode,从剪贴板粘贴并再次设置 electric-indent-mode?
我将非常感激任何关于该代码的教学解释,这样我就能记起我忘记的 elisp。
答案1
这只能发生在文本终端中(其中“粘贴”最终只是将文本逐个字符地发送到 Emacs,就好像您输入了这些字符一样)。
自 Emacs-25 以来,这不再是问题,因为它使用了文本终端的“括号粘贴”支持(这样终端在粘贴文本之前和之后发送特殊的转义序列)。
也不需要对其进行配置:“它就可以正常工作”。