2015-02-09 66 views
4

在Linux環境中使用Emacs 25,我經常使用鼠標複製文本,並希望我可以用Emacs中的某些命令粘貼複製的文本,但目前唯一的方法是知道是通過鼠標中鍵點擊鼠標yank小學。Emacs 25從x窗口中拉出主鍵盤緩衝區與鍵盤

我試圖將此綁定到一個鍵盤命令,同時設置鼠標 - 揚克點設置爲true,但這(如我懷疑)需要鼠標事件才能正常工作,我不知道如何讓Emacs相信鼠標事件由於按鍵而失敗。

任何人有任何想法?或者只是知道從PRIMARY選擇中用鍵盤抽出的正確方法?

+1

函數'(x-get-selection-value)'返回PRIMARY選擇的當前值。 – artscan 2015-02-09 10:20:53

+1

我正在使用Emacs 25,x-get-selection-value已經過時,並且支持gui-get-primary-selection,這確實是我最終使用的方式。 – Silfheed 2015-02-13 03:49:23

回答

7

尋找感謝各地的基督徒的回答後,我發現select.el並用以下扎入我的.emacs

;; Pull from PRIMARY (same as middle mouse click) 
(defun get-primary() 
    (interactive) 
    (insert 
    (gui-get-primary-selection))) 
(global-set-key "\C-c\C-y" 'get-primary) 

編輯想出了:如前所述斯特凡,GUI-GET-主要選擇(更一般地說,gui-get-selection)僅在Emacs 25及更高版本中可用。在Emacs 25.1中,x-get-selection被廢棄了。

1

嘗試設置這樣的:

(setq select-enable-clipboard t) 

這樣正常擊殺/粘貼命令(如C-W和C-Y)將與剪貼板工作。適用於X11和OSX(我相信,Windows也是如此)。

如果您諮詢該變量(通過C-H V實例)的文檔,你應該這樣一句話:

You can customize this variable. 

其中「定製」是可以點擊的鏈接。這將帶給您Emacs的定製系統,它提供了一個更簡單,更引導的配置Emacs的方式。特別是,它會向您展示可能與調整相關的控件。即使你不想用這種方式來控制你的困惑,你可以用它來作爲重要變量的設置和設置。

+0

我沒有變量'select-enable-clipboard '在emacs 24中,只有'x-select-enable-clipboard'。 – artscan 2015-02-10 00:51:08

+0

所以select-enable-clipboard默認已經打開。還有一個select-enable-primary與我正在尋找的接近,但我仍然希望利用這兩種不同的選擇。這至少讓我選擇了。這是我以前真正想出的解決方案。 – Silfheed 2015-02-13 03:54:10

4

我剛剛被emacs在S-insert上插入輔助X選擇的缺省行爲所困擾,並發現了這個線程。我試圖使用Silfheed的代碼,但emacs 24沒有像'gui-get-primary-selection'這樣的功能。所以,我對瀏覽「鼠標抽出小學」的來源以及與此替代解決方案提出了:

;; Pull from PRIMARY (same as middle mouse click) 
(defun paste-primary-selection() 
    (interactive) 
    (insert 
    (x-get-selection 'PRIMARY))) 
(global-set-key (kbd "S-<insert>") 'paste-primary-selection) 

所以S-插入將插入光標位置一次X選擇 - 就像在xterm中.. 。

+0

所以C-y粘貼剪貼板和S-insert粘貼主要選擇 - 正是我想要的。 – 2016-07-20 18:05:22