Ketika saya memotong (mematikan) teks di Emacs 22.1.1 (di jendelanya sendiri di X, di KDE, di Kubuntu), saya tidak bisa menempel (yank) di aplikasi lain.
emacs
copy-paste
memius
sumber
sumber
Jawaban:
Mari berhati-hati dengan definisi kami di sini
kill-ring-save
(biasanya terikatM-w ).yank
(biasanya terikatC-y ).Dalam kasus saya (di GNOME):
Agar penyalinan sistem berfungsi dengan tempel Emacs dan penyalinan Emacs dengan tempel sistem, Anda perlu menambahkannya
(setq x-select-enable-clipboard t)
ke.emacs
. Atau cobaSaya pikir ini adalah perilaku Unix modern yang cukup standar.
Penting juga untuk dicatat (meskipun Anda mengatakan Anda menggunakan Emacs di jendela terpisah) bahwa ketika Emacs berjalan di konsol, itu benar-benar terpisah dari sistem dan papan klip X: potong dan tempel dalam hal ini dimediasi oleh terminal . Misalnya, "Edit-> Tempel" di jendela terminal Anda harus bertindak persis seperti jika Anda mengetik teks dari papan klip ke buffer Emacs.
sumber
META-X set-variable RET select-enable-clipboard RET t
atau(setq select-enable-clipboard t)
Sisipkan berikut ini ke dalam
.emacs
file Anda :sumber
emacs -nw
, saya menggunakan pintasan terminal itu sendiri; Shift-Ctrl-X untuk memotong (mematikan) teks, dan Shift-Ctrl-C untuk menyalin.emacs -nw
di dalam jendela tmux yang terbelah secara horizontal.Saya tempelkan ini di .emacs saya:
Saya kemudian pada dasarnya tidak memiliki masalah dalam memotong dan menempelkan bolak-balik dari apa pun di Emacs ke aplikasi X11 atau Gnome lainnya.
Bonus: agar hal-hal ini terjadi di Emacs tanpa harus memuat ulang seluruh .emacs Anda, lakukan Cx Ce dengan kursor tepat setelah tanda kurung tutup dari setiap ekspresi tersebut di buffer .emacs.
Semoga berhasil!
sumber
Symbol’s function definition is void: x-cut-buffer-or-selection-value
Kesulitan dengan salin dan tempel di Emacs adalah Anda ingin itu bekerja secara independen dari internal kill / yank, dan Anda ingin itu bekerja baik di terminal dan gui. Ada solusi kuat yang ada untuk terminal atau gui, tetapi tidak keduanya. Setelah menginstal xsel (mis.
sudo apt-get install xsel
), Inilah yang saya lakukan untuk salin dan tempel untuk menggabungkannya:sumber
Saya berasumsi dengan emacs yang Anda maksud adalah Emacs di bawah X (bukan di dalam jendela terminal).
Ada dua cara:
Operasi clipboard tersedia:
sumber
Ada artikel EmacsWiki yang menjelaskan beberapa masalah dengan salin & tempel di bawah X dan cara mengkonfigurasinya agar berfungsi.
sumber
Ini bekerja dengan
M-w
di Mac OSX. Cukup tambahkan ke file .emacs Anda .Sumber https://gist.github.com/the-kenny/267162
sumber
Kode di bawah, terinspirasi oleh jawaban @ RussellStewart di atas, menambahkan dukungan untuk x-PRIMARY dan x-SECONDARY, menggantikan
region-active-p
denganuse-region-p
untuk menutupi kasus wilayah kosong, tidak kembali diam-diam jika xsel belum diinstal (mengembalikan pesan kesalahan), dan menyertakan fungsi "potong" (emacs Cy, windows Cx).sumber
Saya menggunakan yang berikut ini, berdasarkan jawaban lain di sini, untuk membuat
C-x C-w
danC-x C-y
menyalin dan menempel pada Mac dan Linux (jika seseorang mengetahui versi untuk Windows, silakan menambahkannya). Perhatikan bahwa di Linux Anda harus menginstal xsel dan xclip dengan manajer paket Anda.sumber
xclip
untuk menempelkan konten papan klip dengan menggunakanxclip -o
. Ini dapat bermanfaat bagi orang yang sudah memilikixclip
dan tidak ingin menginstal program lain untuk melakukan penyalinan dan penempelan.Hmm, platform apa dan emacs versi apa yang Anda gunakan? Dengan GNU Emacs 22.1.1 di Windows Vista, ini berfungsi dengan baik untuk saya.
Jika, kebetulan, Anda melakukan ini dari windows ke linux melalui penampil RealVNC, pastikan Anda menjalankan "vncconfig -iconic" di kotak linux terlebih dahulu .....
sumber
Saya selalu menggunakan pasta cepat - pilihan seret di emacs, tekan tombol tengah mouse di jendela target.
(Dari referensi ke kate, saya menganggap Anda menggunakan linux atau serupa dan mungkin menggunakan emacs di X dengan satu atau lain cara.)
sumber
Anda mungkin ingin menentukan platform apa yang Anda gunakan. Apakah di linux, unix, macosx, windows, ms-dos?
Saya percaya bahwa untuk windows itu harus berfungsi. Untuk MacOSX, ini akan ditambahkan ke papan klip x-windows, yang tidak sama dengan papan klip macosx. Untuk Linux, itu tergantung pada selera pengelola jendela Anda, tetapi saya percaya bahwa x-windows menanganinya dengan cara yang baik pada kebanyakan dari mereka.
Jadi, sebutkan.
sumber
Yang saya lakukan adalah menggunakan alat terminal yang bagus (PuTTY di Windows, Konsole atau Terminal di Linux) yang memiliki fasilitas penyalinan built-in.
Di PuTTY, Anda menyorot teks yang Anda inginkan dengan mouse, lalu menempelkannya di tempat lain. Mengklik kanan di jendela PuTTY akan menyisipkan konten buffer salin / tempel Windows.
Di Konsole atau Terminal di Linux, Anda menyorot apa yang Anda inginkan lalu tekan Shift + Ctrl + C untuk menyalin dan Shift + Ctrl + V untuk menempel.
Dalam kompilasi win32 emacs, teks yanking meletakkannya di buffer salin / tempel .. sebagian besar waktu.
Di Mac OS X, pintasan tombol Apple berfungsi dengan baik, karena Terminal menjebaknya.
Tidak ada cara langsung untuk melakukannya di baris perintah karena shell tidak memelihara buffer salin / tempel untuk setiap aplikasi. pesta melakukan mempertahankan copy / paste penyangga untuk dirinya sendiri, dan, secara default, emacs ^ k / ^ y pintas kerja.
sumber