2012-05-17 13 views
8

Dopo la migrazione a win7paredit s' slurp avanti "C-)" non funziona più e "freccia C-destra" funziona ancora, rebinding il sexp a anche una combinazione diversa (come C-0) funziona.
Qualcuno ha lo stesso problema là fuori?Paredit slurp avanti "C-)" non funziona per emacs su Windows 7

+0

Non ho finestra di Windows., Ma non penso paredit è os specifica .. – kindahero

+1

Prova 'C-h k'' C-) 'per vedere come risposte. per esempio emacs riceve il comando, quali sono i binding ad esso associati ... – Daimrod

+1

@Daimrod, ho appena provato C-h k C-), ed emacs non ha ricevuto il comando, quindi non risponde ad esso. – siyu

risposta

2

Accade su Windows 7, se si dispone di più di una lingua di input. Ctrl-Maiusc-0, Ctrl-Maiusc-1, ... servono per passare rapidamente alla lingua di input. Sembra essere non risolvibile, poiché Windows intercetta determinate combinazioni di tasti (ad es. Win-E, Win-D, ecc.) E non le trasmette all'applicazione. Potrebbe essere peggio, il driver Intel GMA non ti permette di usare Ctrl-Alt-Up/Down su Win XP.

Basta usare un altro collegamento in Emacs (oppure puoi provare a rimappare le chiavi usando strumenti come, Tasti di scelta rapida).

+0

Grazie per i suggerimenti, non ho altra lingua di input diversa dall'inglese qui, devono essere altre app o i driver stanno prendendo la combinazione di chiavi. Probabilmente mi limito ad usare la "C-freccia destra" – siyu

2

Versione paredit Ho associato il comando slurp di inoltro a <C-right> e C-). Posso verificare che quest'ultima chiave sia utilizzata dal sistema operativo, MS Windows 8 nel mio caso, quindi Emacs non può ricevere quella chiave. Quindi potresti voler usare <C-right> invece, ma dato che quella chiave (e anche <C-left> che è associata ad un altro comando paredit) è normalmente per il movimento (al di fuori del paredit), forse potresti voler usare la tua chiave diversa personalizzata. Io uso C-*. La seguente è la configurazione che utilizzo e puoi prendere le parti che desideri.

(require 'paredit) 

(define-key paredit-mode-map (kbd "C-*") 'paredit-forward-slurp-sexp) 

;; Make the key no longer bound to paredit-forward-barf-sexp 
(define-key paredit-mode-map (kbd "<C-left>") nil) 

;; Make the key no longer bound to paredit-forward-slurp-sexp 
(define-key paredit-mode-map (kbd "<C-right>") nil) 

(define-key paredit-mode-map (kbd "<C-backspace>") 'paredit-backward-kill-word) 
3

Windows 7 utilizza Ctrl + Maiusc per cambiare lingua, quindi Emacs non ottiene mai i tratti chiave. È possibile modificare il legame con il seguente:

  • Pannello di controllo
  • Paese e lingua
  • Tastiere e lingue
  • Cambia tastiere Impostazioni
  • chiave avanzata
  • Tra le lingue di input
  • Change Sequenza di tasti
  • Cambia layout tastiera
  • Non assegnato.

http://www.eightforums.com/general-support/22552-cant-use-ctrl-shift-0-windows-has.html

+0

In Windows 10, che diventa "Pannello di controllo -> Modifica metodi di input -> Impostazioni avanzate -> Cambia tasti di scelta rapida della lingua. Ho disabilitato le scorciatoie lì. – Apteryx