Dopo la migrazione a win7
paredit
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
risposta
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).
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
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)
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
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
Non ho finestra di Windows., Ma non penso paredit è os specifica .. – kindahero
Prova 'C-h k'' C-) 'per vedere come risposte. per esempio emacs riceve il comando, quali sono i binding ad esso associati ... – Daimrod
@Daimrod, ho appena provato C-h k C-), ed emacs non ha ricevuto il comando, quindi non risponde ad esso. – siyu