Cara mengakses os clipboard menggunakan Emacs + Evil


8

Bagaimana saya bisa menarik ke / dari clipboard windows ketika menggunakan:

  • Windows 7 (x64)
  • GNU Emacs 24.4.1 (x64)
  • Evil 1.0.9
  • dan memiliki (setq x-select-enable-clipboard nil)di saya .emacs? (Aku meletakkan baris ini ada karena saya tidak ingin perubahan vim ( x, d, dll) untuk mengkritik clipboard os saya.

Aku mencoba "+p, "*p, "+y, "*y, CTRL+Ytapi tidak bekerja. Ketika saya menjalankannya :registersbahkan tidak muncul +atau *register.

Untuk memperjelas: Saya ingin Emacs berperilaku seperti Vim ketika menyalin / menarik ke / dari register yang berbeda, tanpa melanggar clipboard os dengan setiap perintah mengubah teks. Khususnya:

  • yy- TIDAK boleh mencabut teks ke os clipboard (hanya untuk 0mendaftar)
  • "+yy - Haruskah menarik teks ke os clipboard
  • dd - BUKAN clobber os clipboard
  • cw - Shold TIDAK clobber os clipboard
  • dll.

Jawaban:


5

Saya menonaktifkan integrasi clipboard dengan:

(setq x-select-enable-clipboard nil)

Maka Anda masih dapat menyalin dan menempel menggunakan + register of evil. Jika Anda masih ingin berintegrasi dengan clipboard tanpa kejahatan, Anda dapat menggunakan fungsi ini untuk menempel:

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

dan ini untuk menyalin:

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

Kemudian ikat copy-to-clipboardke M-wdan paste-from-clipboardke C-y, atau pengikat kunci pilihan Anda lainnya.

Sunting: Saya menjalankan Archlinux. Tidak dapat mengatakan apakah ini akan berfungsi pada Windows.


Di Linux Mint (setq x-select-enable-clipboard nil)cukup juga karena ada +dan *register untuk bekerja dengan os clipboard, sayangnya tidak di bawah windows.
— Kossak

Saya mencoba fungsi khusus Anda (di windows) dengan plugin jahat dan (setq x-select-enable-clipboard nil): Yanking FROM os clipboard berfungsi sebagaimana mestinya, tetapi saya tidak dapat mencabut pilihan UNTUK os clipboard (dengan binding (define-key evil-normal-state-map (kbd "C-y") 'paste-from-clipboard)dan(define-key evil-visual-state-map (kbd "C-y") 'paste-from-clipboard)
— Kossak

Saya tidak yakin apakah saya mengerti maksud Anda, paste-from-clipboardhanya akan menempel dari clipboard. Anda membutuhkan fungsi lain untuk menyalin ke clipboard. Saya mengedit pertanyaan untuk menambahkan copy-to-clipboardfungsi. Silakan coba jika berhasil
— Jesse

Saya salah mengira yankfungsi menyalin ke dan dari os clipboard (berdasarkan keberadaan pemilihan visual). Fungsi Anda yang lain melakukan apa yang saya inginkan, terima kasih.
— Kossak

2

https://github.com/rolandwalker/simpleclip

itu mencakup SEMUA kasus penggunaan di Mac / Linux / Windows / Cygwin.

Lebih khusus lagi, untuk salin & tempel, hanya ada dua perintah:

simpleclip-get-contents
simpleclip-set-contents

Jangan ragu untuk menetapkan kunci pendek.


Ini luar biasa, ini menyederhanakan interaksi dengan clipboard secara drastis.
— loevborg
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.