Confronto tra Vim ed Emacs per un'operazione di sostituzione tramite espressioni regolari

Indice dei Contenuti

Prefazione

Questo è un articolo riassuntivo di due precedenti post che potete leggere a queste pagine:

L’argomento delle “espressioni regolari” in Vim ed Emacs si presta bene a un confronto funzionale tra i quattro diversi scenari trattati negli articoli sopra menzionati ai quali rimando per la descrizione della sintassi.

Tabella Comparativa

ObiettivoVimEmacs
Eliminare le righe vuote “pure”:g/^$/dM-x flush-lines <RET> ^$ <RET>
Eliminare le righe vuote con spazi bianchi:g/^\s*$/dM-x flush-lines <RET> ^\s-*$ <RET>
Ridurre le righe vuote “pure”:g/^$\n^$/dM-x query-replace-regexp <RET> ^C-qC-j\{2,\} <RET> C-qC-j <RET>
Ridurre le righe vuote con spazi bianchig/^\s*$\n^\s*$/d^\(^C-q<SPC>*C-qC-j\)\{2,\} <RET> C-qC-j <RET>

Emacs: ciò che digiti non è ciò che vedi

Come illustrato nell’articolo dedicato ad Emacs, ciò che digiti non è giò che vedi.

Di seguito una breve tabella riassuntiva per le operazione di “riduzione” delle righe bianche, la terza e quarta formula della tabella precedente, distinguendo i tasti premuti dai caratteri visualizzati.

PremiVisualizzi
^C-qC-j\{2,\} <RET> C-qC-j <RET>^^J\{2,\} → ^J
^\(^C-q<SPC>*C-qC-j\)\{2,\}<RET> C-qC-j <RET>^\(^ *^J\)\{2,\} → ^J

Breve sintesi

L’argomento delle espressioni regolari in Vim ed Emacs mostra diverse differenze tra i due editor.

Non sono in grado di stabilire quale sia l’implementazione migliore.

È necessario, in ogni caso, considerare che Emacs ha un ottimo emulatore di Vim, Evil, che permette di utilizzare lo stesso linguaggio di espressioni regolari dell’editor di origine.

Grazie per l’attenzione.

Avvocato

Loquimur