我喜欢在Xcode而不是Emacs工作,但我们必须使用Emacs进行分配。
似乎每当我尝试将大量代码从Xcode复制到Emacs时,它只是在某个点之后“放弃”并留下大量文本,甚至会偶尔留下一些文本最多3或4行在它上面的地方。
这是大括号,间距,任何想法的问题吗?它可以简单地不立即复制那么多数据吗? (目前我有414行代码。)
我希望在这里解决问题的核心,而不仅仅是在它周围进行操纵。我可以通过分块数据并进行多次复制/粘贴来解决这个问题。
答案 0 :(得分:0)
您可以尝试下面的代码,它提供了一个命令ttypaste-mode
,您可以在粘贴之前运行#{1}}。代码到终端模拟器中运行的Emacs中。它试图解决与通过终端模拟器相关的常见问题。要退出此模式,请按ESC键。
(defvar ttypaste-mode nil)
(add-to-list 'minor-mode-alist '(ttypaste-mode " Paste"))
;; A loop reading `read-event' is several times faster than using a kind
;; of minor mode with a keymap catching all character events; probably because
;; it avoids going through a lot of extra code, like pre-command-hook,
;; post-command-hook, ...
(defun ttypaste-mode ()
(interactive)
(let ((buf (current-buffer))
(ttypaste-mode t))
(with-temp-buffer
(let ((stay t)
(text (current-buffer)))
(redisplay)
(while stay
(let ((char (or (let ((inhibit-redisplay t)) (read-event nil t 0.1))
(with-current-buffer buf
(insert-buffer-substring text))
(erase-buffer)
(redisplay)
(read-event nil t))))
(cond
((or (not (characterp char))
(and (eq char ?\e) (sit-for 0.1 'nodisp)))
(setq stay nil))
((eq char ?\r) (insert ?\n))
(t (insert char)))))
(insert-buffer-substring text)))))