文本模式下的Emacs将\字符(反斜杠)放在换行的末尾。
我希望没有显示,所以我可以从这样的窗口复制粘贴到另一个窗口,而不会在粘贴的文本中获得\。
我确信这有一个简单的解决方案,但我找不到它(既不在线也不在emacs手册中)。最接近的似乎是Disable little arrows on far end of line。
从其中的所有回复和链接中提取,这是我最终用于Mac OS X 10.8.3中包含的emacs(22.1.1)。它很棒。再次感谢您的帮助!
;; copy to Mac clipboard (for copying text the wrapped '\' lines
(defun copy-to-mac-clipboard ()
"Copy currently selected region to Mac clipboard (useful for wrapped '\\' lines)"
(interactive)
(if (> (- (region-end) (region-beginning)) 0)
(progn
(shell-command-on-region (region-beginning) (region-end) "pbcopy")
(message "region copied to Mac clipboard (%d chars)" (- (region-end) (region-beginning)))
(if (and transient-mark-mode mark-active)
(deactivate-mark)))
(progn
(message "no region active"))
))
;; put this next to M-w, which is kill-ring-save (copy to emacs clipboard)
(global-set-key "\M-e" 'copy-to-mac-clipboard)
答案 0 :(得分:2)
这些\(和$)的东西放在我们称之为“边缘”的东西中。遗憾的是,当在文本模式下运行时,Emacs目前不允许您控制边缘。我认为安格斯指出的答案是“我们迄今为止最好的”。
OTOH,针对您的具体问题,除了在GUI模式下运行Emacs之外,您可以让Emacs直接与桌面的剪贴板通信(而不是让终端模拟器),这样就解决了这个问题,并让你即使没有显示,也要复制文本。
X11下有xclip.el
个软件包,有人发布了一个补丁(尚未集成),以便在Mac OS X下运行。