Emacs cola no campo de pesquisa (C-s)?

2

Digamos que você esteja escrevendo código em uma janela do Emacs e então queira procurar por uma string que tenha copiado manualmente ( M - w ) algum tempo antes.

O problema é que, por padrão, quando você emite a chave C - s , C - y sequência, Emacs cola a linha restante sob um cursor como um parâmetro de pesquisa - mas não é isso que eu quero.

Minha solução atual é pegar um mouse, clicar em um Minibuf e arrancar, mas é muito demorado.

Versão: GNU Emacs 23.3.1 (i686-pc-linux-gnu, GTK + Versão 2.24.10)

    
por KBart 05.07.2013 / 09:38

3 respostas

3

Basta pressionar Return após C-s e depois colar a string de pesquisa:

Emacs also has conventional nonincremental search commands, which
require you to type the entire search string before searching begins.

'C-s <RET> STRING <RET>'
     Search for STRING.

'C-r <RET> STRING <RET>'
     Search backward for STRING.

   To start a nonincremental search, first type 'C-s <RET>'.  This
enters the minibuffer to read the search string; terminate the string
with <RET>, and then the search takes place.  If the string is not
found, the search command signals an error.
    
por 05.07.2013 / 10:37
2

Se você nunca realmente usar o comportamento 'resto da linha', você pode apenas ligar o C-y para arrancar e salvar as 2 teclas extras.

(define-key isearch-mode-map "\C-y" 'isearch-yank-kill)
(define-key isearch-mode-map "\M-y" 'isearch-yank-pop)

Não tenho certeza se esses comandos isearch-yank estão definidos na sua versão do emacs. Caso contrário, basta substituí-los por yank e yank-pop .

    
por 05.07.2013 / 17:00
0

A chave padrão para colar em uma pesquisa interativa é M-y .

    
por 05.07.2013 / 19:25