2010-07-15 43 views
8

是否有可能在觸擊C-s時搜索當前存在於剪貼板中的文本,可能是在觸擊C-s時觸發的某種鉤子,然後將剪貼板插入到小緩衝區中?搜索emacs中的剪貼板文本

+0

參見[這個問題](http://superuser.com/q/221829/4542 )。 – legoscia 2012-12-03 11:19:36

回答

10

Isearch提供了一組標準鍵來改變搜索過程的行爲。鍵入C-s M-y調用isearch-yank-kill,將字符串從殺戒環(即剪貼板)拖到搜索字符串中。

+0

要查看所有'isearch'鍵綁定(和其他幫助),請鍵入'C-s C-h C-h' – phils 2012-01-18 21:44:06

+0

這不回答問題。殺戒和剪貼板是不同的東西,例如對於我來說,C-y和M-y都喜歡粘貼隨機垃圾,但我在輔助或主剪貼板中都沒有。 – 2017-12-13 14:45:19

0

您可以使用defadvice來改變命令isearch-forward(默認綁定到C-s)的行爲,也可以定義另一個可能包裝isearch-forward並將其綁定到C-s而不是isearch-forward的函數。

1

你可以開始ISEARCH後抽出文字:

(defun my-isearch-yank-clipboard() 
    (interactive) 
    (isearch-yank-string (or (x-get-selection 'PRIMARY) 
          (x-get-selection 'CLIPBOARD) 
          ""))) 

(define-key isearch-mode-map (kbd "M-s c") 'my-isearch-yank-clipboard) 

開始ISEARCH然後 「MS C」

+0

@scottfrazer:內置'(isearch-yank-x-selection)'完全一樣。 – 2010-07-19 09:06:29