5

パテを介して X ウィンドウを持たないリモート マシンで Emacs を使用しています。Shift問題は、外部クリップボード ( + )からのコピー/貼り付けInsが非常に遅いことです。

set pasteVim には貼り付けが必要な場合のオプションがありますが、Emacs に同様の機能はありますか?

現在、いくつかの回避策を試しています。貼り付ける前にメジャーモードを に変更し、fundamental-modeモードラインに表示されるマイナーモードを無効にして、副作用を最小限に抑えます。ただし、 で開始したときよりもはるかに遅くなりemacs -Qます。そして、表示領域(ミニバッファ)には、 "matches ..."で始まるメッセージ(括弧など) があります。

では、適切に解決するにはどうすればよいでしょうか。

4

2 に答える 2

5

Emacs の「貼り付けモード」については知りません。次のようなものから始めることができます (現在のバッファーの *-change-functions が最後に一度だけ呼び出されるように、別のバッファーを使用する新しいバージョン):

(defvar ttypaste-mode nil)
(add-to-list 'minor-mode-alist '(ttypaste-mode " Paste"))

(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 (let ((inhibit-redisplay t)) (read-event nil t 0.1))))
            (unless char
              (with-current-buffer buf (insert-buffer-substring text))
              (erase-buffer)
              (redisplay)
              (setq char (read-event nil t)))
            (cond
             ((not (characterp char)) (setq stay nil))
             ((eq char ?\r) (insert ?\n))
             ((eq char ?\e)
              (if (sit-for 0.1 'nodisp) (setq stay nil) (insert ?\e)))
             (t (insert char)))))
        (insert-buffer-substring text)))))
于 2013-09-09T13:59:04.870 に答える