Cách truy cập os clipboard bằng Emacs + Evil


8

Làm thế nào tôi có thể kéo đến / từ windows clipboard khi sử dụng:

  • Windows 7 (x64)
  • GNU Emacs 24.4.1 (x64)
  • Ác 1.0.9
  • và có (setq x-select-enable-clipboard nil)trong tôi .emacs? (Tôi đặt dòng này có, vì tôi không muốn thay đổi vim ( x, d, vv) để clobber vào clipboard os của tôi.

Tôi cố gắng "+p, "*p, "+y, "*y, CTRL+Ynhưng nó không hoạt động. Khi tôi chạy, :registersnó thậm chí không hiển thị +hoặc *đăng ký.

Để làm rõ: Tôi muốn Emacs hoạt động giống như Vim khi sao chép / kéo tới / từ các thanh ghi khác nhau, mà không ghi đè lên bảng tạm os os với mỗi lệnh thay đổi văn bản. Đặc biệt:

  • yy- KHÔNG nên kéo văn bản vào bảng tạm os (chỉ để 0đăng ký)
  • "+yy - nên kéo văn bản vào os clipboard
  • dd - KHÔNG nên ghi đè os clipboard
  • cw - shold KHÔNG clobber os clipboard
  • Vân vân.

Câu trả lời:


5

Tôi đã tắt tích hợp clipboard với:

(setq x-select-enable-clipboard nil)

Sau đó, bạn vẫn có thể sao chép và dán bằng cách sử dụng + đăng ký của cái ác. Nếu bạn vẫn muốn tích hợp với bảng tạm mà không bị lỗi, bạn có thể sử dụng chức năng này để dán:

(defun paste-from-clipboard ()
  (interactive)
  (setq x-select-enable-clipboard t)
  (yank)
  (setq x-select-enable-clipboard nil))

và cái này để sao chép:

(defun copy-to-clipboard()
  (interactive)
  (setq x-select-enable-clipboard t)
  (kill-ring-save (region-beginning) (region-end))
  (setq x-select-enable-clipboard nil))

Sau đó liên kết copy-to-clipboardvới M-wpaste-from-clipboardđến C-y, hoặc liên kết phím khác của sự lựa chọn của bạn.

Chỉnh sửa: Tôi đang chạy Archlinux. Không thể nói nếu điều này sẽ làm việc trên Windows.


Trong Linux Mint, điều đó (setq x-select-enable-clipboard nil)là quá đủ bởi vì có +và các *thanh ghi hoạt động với os clipboard, không phải trong windows không may.
Kossak

Tôi đã thử chức năng tùy chỉnh của bạn (trong windows) với plugin ác và (setq x-select-enable-clipboard nil): Yanking TỪ bảng tạm os hoạt động như bình thường, nhưng tôi không thể chọn lựa cho bảng tạm os (với các ràng buộc (define-key evil-normal-state-map (kbd "C-y") 'paste-from-clipboard)(define-key evil-visual-state-map (kbd "C-y") 'paste-from-clipboard)
Kossak

Tôi không chắc nếu tôi hiểu ý bạn, paste-from-clipboardsẽ chỉ dán từ clipboard. Bạn sẽ cần một chức năng khác để sao chép vào clipboard. Tôi chỉnh sửa câu hỏi để thêm một copy-to-clipboardchức năng. Hãy thử nếu nó hoạt động
Jesse

Tôi đã nghĩ sai yankchức năng sao chép đến và từ os clipboard (dựa trên sự hiện diện của lựa chọn trực quan). Chức năng khác của bạn làm những gì tôi muốn, cảm ơn bạn.
Kossak

2

https://github.com/rolandwalker/simpleclip

nó bao gồm TẤT CẢ các trường hợp sử dụng trên Mac / Linux / Windows / Cygwin.

Cụ thể hơn, để sao chép và dán, chỉ có hai lệnh:

simpleclip-get-contents
simpleclip-set-contents

Hãy thoải mái gán các phím ngắn.


Điều này thật tuyệt vời, nó đơn giản hóa sự tương tác với clipboard nhanh chóng.
loevborg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.