Shift clique para estender a região marcada

3

Suponha que eu queira selecionar algum texto (marque uma região) usando o mouse, mas sem arrastar. O que eu normalmente faço (na maioria dos aplicativos, mas emacs ) é:

  1. clique com o botão esquerdo do mouse ( down-mouse-1 );
  2. libera meu mouse para deixar o cursor onde quero que a seleção comece;
  3. pressione e segure a tecla shift ;
  4. e, finalmente, clique novamente em ( down-mouse-1 ) no lugar do texto em que desejo que a seleção termine.

No entanto, não posso fazer isso com emacs , porque na etapa 4 aparece um menu de contexto ( Change default buffer face ) e minha seleção é perdida.

Eu tentei remapear <S-down-mouse-1> para vários outros comandos, sem sucesso.

Alguém sabe como realizar essa façanha em emacs ?

(Estou usando emacs 24.2 em Xubuntu 12.04 e também em Mac Os X 10.8 (Cocoa Emacs); estou usando transient-mode e cua-mode .)

Atualização:

Acabei de experimentar este código, como sugerido aqui , mas também sem sucesso.

  ;; shift + click select region
  (define-key global-map (kbd "<S-down-mouse-1>") 'ignore) ; turn off font dialog
  (define-key global-map (kbd "<S-mouse-1>") 'mouse-set-point)
  (put 'mouse-set-point 'CUA 'move)
    
por NVaughan 18.12.2012 / 21:24

2 respostas

4

Não sei por que você não tem essa ligação, mas isso parece ter resolvido seu problema, de acordo com seu comentário:

(define-key global-map (kbd "<S-down-mouse-1>") 'mouse-save-then-kill)
    
por 20.12.2012 / 19:11
0

Já experimentou o Cocoa emacs ? Tenho quase certeza de que o comportamento que você deseja funciona imediatamente.

    
por 18.12.2012 / 21:29