Domanda

Sono un utente Mac e ho deciso di imparare Emacs. Ho letto che per ridurre l'affaticamento della mano e migliorare l'accuratezza del CTRL e BLOC MAIUSC devono essere scambiate. Come posso farlo in Leopard?

Inoltre, nel Terminale devo usare la chiave ESC per invocare meta. C'è un modo per ottenere invece la chiave alt / option per invocare meta?

aggiornamento: Anche se il tasto di controllo è molto più facile da premere ora, il meta-chiave viene anche usato abbastanza spesso da meritare attenzione anche la sua posizione sul mio MacBook e sulla tastiera Apple. In effetti, trovo che il tasto di controllo sia effettivamente più facile da premere, quindi ho rimappato il mio tasto di controllo per fungere da meta chiave. Qualcuno ha una soluzione migliore / più standard?

È stato utile?

Soluzione

Scambio di CTRL e BLOC MAIUSC

  1. Vai in Preferenze di Sistema
  2. Inserisci Tastiera e amp; Mouse riquadro delle preferenze
  3. Nella scheda Tastiera , fai clic su Tasti modificatori ...
  4. Scambia le azioni per Blocco maiuscole e Controllo .

alt text

Utilizzo di ALT / OPTION come META

  1. Nella barra dei menu, fai clic su Terminale
  2. Fai clic su Preferenze ...
  3. Nella scheda Impostazioni , vai alla scheda Tastiera
  4. Seleziona la casella Usa l'opzione come meta chiave

alt text

Questo è tutto! Dovresti essere sulla buona strada per diventare un maestro Emacs!

Altri suggerimenti

Per riferimento, ecco i collegamenti chiave, per spostarsi nel testo:

? + ? - sposta a sinistra di una parola
? + ? - sposta a destra di una parola
? + elimina - indietro elimina una parola
Maiusc + ? + elimina - foward elimina una parola
? + ? - sposta in alto di un paragrafo
? + ? - sposta in basso di un paragrafo
? + ? - sposta all'inizio della riga corrente
? + ? - sposta alla fine della riga corrente
Maiusc + una qualsiasi delle opzioni di estensione sopra indicate per importo appropriato

Fai clic, quindi trascina: seleziona il testo
Fai doppio clic e trascina: seleziona il testo, avvolgendolo fino alle estremità della parola
Fai doppio clic e trascina: seleziona il testo, avvolgendolo fino alle estremità del paragrafo

Maiusc + Seleziona testo con il mouse - aggiungi alla selezione (contiguo)
? + Seleziona testo con il mouse - aggiungi alla selezione (non contiguo)
? + Trascina: seleziona un'area rettangolare (non contigua)
? + ? + trascina - aggiungi un'area rettangolare alla selezione
Trascina selezione: sposta il testo
? + trascina selezione - copia testo

Ctrl + A - sposta all'inizio del paragrafo corrente
Ctrl + B - sposta a sinistra di un carattere
Ctrl + D - elimina in avanti
Ctrl + E - sposta alla fine del paragrafo corrente
Ctrl + F - sposta a destra di un carattere
Ctrl + H - elimina
Ctrl + K - elimina il resto del paragrafo corrente
Ctrl + N : sposta in basso di una riga
Ctrl + O - inserisci una nuova riga dopo il cursore
Ctrl + P - sposta in alto di una riga
Ctrl + T - trasponi (scambia) due personaggi circostanti
Ctrl + V - sposta alla fine, quindi lascia un carattere
Ctrl + Y - incolla il testo precedentemente eliminato con Ctrl - K

L'altra risposta è stata molto completa, ma in più vorrei dire che ho appena impostato il blocco maiuscole chiave per un secondo tasto di controllo invece di scambiarli.

Noterai inoltre che la maggior parte dei campi di immissione testo in Mac OS X. accetta già i tasti emacs (^ Un inizio di riga, ^ E fine di riga, ^ P, ^ N, ^ K, ^ Y, ecc.)

buona fortuna

Mi piace molto la risposta fornita da Kyle Cronin, ma voglio aggiungere una cosa: assicurati di selezionare la tastiera appropriata affinché funzioni. Se hai una tastiera esterna collegata al tuo laptop, allora c'è una casella a discesa aggiuntiva e dovrai farlo per entrambe le tastiere (o almeno per la tua tastiera esterna). La schermata qui sotto mostra il " Seleziona tastiera " finestra di dialogo - Ho selezionato " Joint Mac Keyboard " ;, che è il modo in cui MacBook dice la tastiera esterna GoldTouch: l'impostazione predefinita è la tastiera integrata.
Schermata che mostra la finestra di dialogo "Seleziona tastiera"

Una volta capito, questo funziona alla grande per me!

Se usi emacs su una connessione ssh, o attraverso una macchina non sul tuo computer locale, i pulsanti pagina su / pagina giù scorrono attraverso il buffer del terminale - nella mia esperienza, non troppo utile.

Puoi impostare i pulsanti pagina giù e pagina su per inviare i comandi appropriati a emacs. In emacs, puoi scorrere il buffer di emacs in questo modo:

  • Pagina su: Ctl-v
  • Pagina giù: Esc-v

Quindi, per fare in modo che il terminale invii questi comandi a emacs, segui le istruzioni sopra per modificare i tasti Alt per Meta. Tuttavia, invece di impostare l'opzione "usa come meta" opzione, trova la " pagina giù " e " pagina su " opzioni.

Pagina giù

Fai doppio clic sulla " pagina giù " opzione per modificarlo. Cambia Azione in " invia stringa a shell " e inserisci \ 026 come stringa. Salvalo.

Pagina su

Fai doppio clic su " page up " per modificarlo. Cambia Azione in " invia stringa a shell " e inserisci \ 033v come stringa. Salvalo.

Non sono sicuro se sei totalmente sposato con l'utilizzo di Emacs dal terminale, ma un'altra opzione è quella di utilizzare Carbon Emacs (il mio preferito) e Aquamacs (molto simile al Mac). Carbon Emacs usa il tasto comando per meta, questo è bello perché puoi fare i comandi Control-Meta semplicemente tenendo premuto Control e Command invece di colpire prima la fuga e poi la sequenza di tasti di controllo.

Inoltre, se sei un serio utente di Emacs, ti consiglio vivamente di procurarti una tastiera adatta alla programmazione (che è completamente riprogrammabile da sola). Uso un Kinesis, è un po 'di soldi ma sono estremamente resistenti e molto belli.

Personalmente ho setup caps lock per comportarmi come comando sulle preferenze di sistema e quindi sul mio file init.el emacs:

(setq mac-command-modifier 'ctrl)

e questo mi permette di usare maiuscole come comando nella maggior parte delle applicazioni osx e come controllo in emacs. funziona abbastanza bene per me.

La tua gioia è solo all'inizio. Altri trucchi includono:

  • Usa i tasti Maiusc sinistro e destro per essere anche (e) per digitare velocemente.
  • Rimappa la tua chiave fn o un'altra chiave per essere " super " ;.
  • Rendi il controllo maiuscolo, ma solo con un'altra chiave. Di per sé, è fuga.

Leggi l'articolo eccellente su http://stevelosh.com/ blog / 2012/10 / a-modern-space-cadet / per molte più informazioni.

Questa discussione è iniziata 5 anni fa e non viene menzionato ns-win.el o build --with-ns . Ecco tutti i collegamenti chiave disponibili (pronti all'uso) in Emacs Trunk a partire da ottobre 2013. E, naturalmente, puoi crearne uno tuo. Personalmente, ho un init.el con tutti i miei collegamenti chiave che possono essere usati con Windows XP tramite Parallels su OSX e anche con OSX in modo nativo. Poiché l'utente può definire le proprie scorciatoie da tastiera, non vedo la necessità di rimappare la tastiera nelle preferenze di sistema (con una tastiera Apple US) a meno che utilizzi una tastiera che non include il tasto Comando . Ma, eliminerei la mia scorta di tastiere clicky IBM con trackpoint integrato? Ovviamente no. :) Sto portando con me le mie tastiere IBM clicky nella prossima vita. Qualsiasi tensione alla mano è probabilmente causata da una posizione impropria del polso / braccio / gomito, non dal colpire il controllo contro il blocco maiuscole. La precisione è migliorata attraverso la pratica e con l'aiuto di un boss che ti guarda da sopra le spalle per vedere come stai andando, ovvero una leggera pressione per essere più produttivo :)

(define-key global-map [?\s-,] 'customize)
(define-key global-map [?\s-'] 'next-multiframe-window)
(define-key global-map [?\s-`] 'other-frame)
(define-key global-map [?\s-~] 'ns-prev-frame)
(define-key global-map [?\s--] 'center-line)
(define-key global-map [?\s-:] 'ispell)
(define-key global-map [?\s-?] 'info)
(define-key global-map [?\s-^] 'kill-some-buffers)
(define-key global-map [?\s-&] 'kill-this-buffer)
(define-key global-map [?\s-C] 'ns-popup-color-panel)
(define-key global-map [?\s-D] 'dired)
(define-key global-map [?\s-E] 'edit-abbrevs)
(define-key global-map [?\s-L] 'shell-command)
(define-key global-map [?\s-M] 'manual-entry)
(define-key global-map [?\s-S] 'ns-write-file-using-panel)
(define-key global-map [?\s-a] 'mark-whole-buffer)
(define-key global-map [?\s-c] 'ns-copy-including-secondary)
(define-key global-map [?\s-d] 'isearch-repeat-backward)
(define-key global-map [?\s-e] 'isearch-yank-kill)
(define-key global-map [?\s-f] 'isearch-forward)
(define-key global-map [?\s-g] 'isearch-repeat-forward)
(define-key global-map [?\s-h] 'ns-do-hide-emacs)
(define-key global-map [?\s-H] 'ns-do-hide-others)
(define-key global-map [?\s-j] 'exchange-point-and-mark)
(define-key global-map [?\s-k] 'kill-this-buffer)
(define-key global-map [?\s-l] 'goto-line)
(define-key global-map [?\s-m] 'iconify-frame)
(define-key global-map [?\s-n] 'make-frame)
(define-key global-map [?\s-o] 'ns-open-file-using-panel)
(define-key global-map [?\s-p] 'ns-print-buffer)
(define-key global-map [?\s-q] 'save-buffers-kill-emacs)
(define-key global-map [?\s-s] 'save-buffer)
(define-key global-map [?\s-t] 'ns-popup-font-panel)
(define-key global-map [?\s-u] 'revert-buffer)
(define-key global-map [?\s-v] 'yank)
(define-key global-map [?\s-w] 'delete-frame)
(define-key global-map [?\s-x] 'kill-region)
(define-key global-map [?\s-y] 'ns-paste-secondary)
(define-key global-map [?\s-z] 'undo)
(define-key global-map [?\s-|] 'shell-command-on-region)
(define-key global-map [s-kp-bar] 'shell-command-on-region)
;; (as in Terminal.app)
(define-key global-map [s-right] 'ns-next-frame)
(define-key global-map [s-left] 'ns-prev-frame)

(define-key global-map [home] 'beginning-of-buffer)
(define-key global-map [end] 'end-of-buffer)
(define-key global-map [kp-home] 'beginning-of-buffer)
(define-key global-map [kp-end] 'end-of-buffer)
(define-key global-map [kp-prior] 'scroll-down-command)
(define-key global-map [kp-next] 'scroll-up-command)

;; Allow shift-clicks to work similarly to under Nextstep.
(define-key global-map [S-mouse-1] 'mouse-save-then-kill)
(global-unset-key [S-down-mouse-1])

(non una tastiera ergonomica, ma mi piace molto la corsa e la sensazione dei tasti e il tasto Control, Caps Lock sono scambiati).

http://matias.ca/osxkeyboard/index.php

Ho creato un set abbastanza completo di attacchi qui per l'uso esterno del terminale.

Personalmente, non posso usare la tastiera del laptop mac a causa dell'assenza del tasto di controllo corretto.

Invece, ho usato la Microsoft Natural Ergonomic Keyboard 4000 per oltre 7 anni: ha i tasti Ctrl e Alt veramente ben posizionati e ben posizionati, e dopo scaricando i suoi driver il " Start " e " Applicazione " le chiavi sono banalmente rimappate al tasto Cmd Mac, che è anche grasso e facilmente deprimibile.

Per evitare le preoccupazioni ergonomiche di emacs, mi sono allenato a usare Ctrl, Alt e Cmd nello stesso modo in cui utilizziamo Maiusc - premendoli con la mano opposta a quella che digita il tasto attuale. (Cioè, lascio mai Bloc Maiuscole così com'è.)

Ho impostato il blocco maiuscole per il controllo nelle preferenze di sistema e nel mio init.el ho le seguenti opzioni per impostare il comando su meta e l'opzione su super:

(custom-set-variables
 '(ns-alternate-modifier (quote super))
 '(ns-command-modifier (quote meta)))

Vorrei raccomandare 2 software Seil e Moschettone . Semplicemente installando Seil e seguendo le istruzioni nel software, dovresti essere in grado di ottenere ciò che desideri. Dalla mia esperienza, Karabiner è più potente. Ho una tastiera giapponese il cui layout è diverso da quelli normali. Ho alcuni snippet che rimappa due tasti aggiuntivi sulla mia tastiera in F18 e F19 per altri usi. Puoi utilizzare la stessa sintassi per modificare il tuo " private.xml " file per fare più cose.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top