2010-07-15 64 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