Created: 2021-12-25 sab 02:05
Utilizzando lo schema introdotto nel video precedente possiamo inquadrare i concetti che affronteremo in questo video.
Introduciamo adesso due requisiti necessari per poter conoscere il funzionamento dei keybinds in Emacs.
I modificatori sono dei tasti che modificano il comportamento degli altri tasti.
Un tipico modificatore è il tasto SHIFT
, che ci permette di
scrivere le lettere in MAIUSCOLO.
In emacs i modificatori più comunemente utilizzati sono i seguenti
Tipicamente però bastano e avanzano i primi due (control e meta).
Il nome meta potrebbe confondere, dato che nelle tastiere moderne non appare nessun tasto con questo nome.
Questo nome, come altri nomi in Emacs, è stato ereditato dalle tastiere del passato, che contenevano anche un tasto meta.
Source: Wikipedia
In ogni caso, il tasto meta non è altro che il moderno tasto alt (quello a sinistra).
Source: snappygoat.com
I modificatori sono combinati assieme ad altri tasti della tastiera per formare delle sequenze particolari di tasti.
Per descrivere queste sequenze viene utilizzata la seguente notazione:
C-<char>, per dire: ------------------- tieni premuto il modificatore CONTROL, e premi il tasto <char>.
M-<char>, per dire: ------------------- tieni premuto il modificatore META, e premi il tasto <char>.
Ad esempio…
C-x ---> Tieni premuto CTRL e premi x C-c ---> Tieni premuto CTRL e premi c M-h ---> Tieni premuto META e premi h
Certe volte possiamo combinare queste sequenze atomiche tra loro per ottenere sequenze più complesse
<modifier>-<char> <remaining>, per dire: ----------------------------------- tieni premuto <modifier>, premi il tasto <char>, rilascia <modifier> e premi i restanti tasti in <remaining>.
Ad esempio…
C-x M-n ---> Tieni premuto CTRL, premi x, rilascia CTRL tieni premuto Meta, premi n C-h M-x ---> Tieni premuto CTRL, premi h, rilascia CTRL tieni premuto Meta, premi x
Nel caso in cui la coppia <modifier>-<char> successiva condivide lo stesso modificatore della coppia precedente, non dobbiamo rilasciare il modificatore, ma possiamo direttamente premere il prossimo carattere.
C-c C-e ---> Tieni premuto CTR, premi 'x' e poi 'e' C-x C-s ---> Tieni premuto CTR, premi 'x' e poi 's'
Ad alcune sequenze di tasti in Emacs possiamo associare un particolare comando, identificato tramite il nome simbolico della rispettiva funzione elisp che implementa tale comando.
Questa associazione viene effettuata tramite l'operazione di binding.
Un keybind è quindi un tasto (o una particolare sequenza di tasti) a cui è stato associato un comando.
Quando premiamo correttamente il keybind, Emacs eseguirà il comando associato al keybind tramite il binding.
Andiamo adesso a vedere i keybinds associati ai comandi più importanti in Emacs.
Tra i keybind fondamentali da sapere, troviamo sicuramente i seguenti
Keybind | Comando |
---|---|
C-x C-c | save-buffers-kill-terminal |
C-g | keyboard-quit |
Per quanto riguarda il movimento (base) del cursore troviamo
Keybind | Comando |
---|---|
C-p | previous-line |
C-n | next-line |
C-b | backward-char |
C-f | forward-char |
I comandi di base per fare text editing invece sono
Keybind | Comando |
---|---|
C-x C-f | find-file |
C-x C-v | find-alternative-file |
C-x C-s | save-buffer |
C-x C-w | write-file |
Riportiamo infine i comandi utilizzati per accedere alla documentazione interna.
Keybind | Comando |
---|---|
C-h k | describe-key |
C-h f | describe-function |
C-h v | describe-variable |
Nel corso dei video proporro per ogni argomento introdotto una serie di esercizi.
Consiglio a coloro interessati ad imparare Emacs di provare a svolgere gli esercizi per conto proprio, e solo successivamente vedere come io li svolgo nel video.
Aprire Emacs Aprire nuovo file Copiare il testo che segue nella slide successiva a mano Salvare il file Chiudere Emacs
Il testo da copiare è il seguente, ed è ripreso dal Castello di Kafka.
Amalia invece non si è limitata a sopportare la pena, lei aveva anche l'intelligenza per capirla fino in fondo; noi scorgevamo solo le conseguenze, lei anche la causa, noi speravamo in qualche mezzuccio, lei sapeva che tutto era ormai deciso, noi potevamo bisbigliare fra di noi, lei non poteva che tacere: lei si trovava faccia a faccia con la verità, eppure ha vissuto e sopportato questa vita, oggi come allora. Noi tutti, pur nella nostra miseria, stavamo meglio di lei.
Aprire Emacs Aprire file /etc/passwd Salvare il file in ~/my_passwd Modificare il file a piacimento Salvare il file Chiudere Emacs
Aprire Emacs Cercare il file ~/nomelungo.txt Annullare il comando precedente prima di aprire il buffer Chiudere Emacs
Aprire Emacs Leggere la doc. della funzione "insert-file" Leggere la doc. del keybind "C-h t" Leggere la doc. della variable "inhibit-startup-screen"
Per finire, voglio riportare brevemente come extra del codice elisp che può essere utilizzato per create o modificare i keybinds in Emacs.
Il codice è il seguente, e fa utilizzo della funzione global-set-key
(global-set-key (kbd "C-x t") 'mu4e)
(global-set-key (kbd "C-c q") 'query-replace)
(global-set-key (kbd "C-c v") 'my/vterm-window-split)