Post

Vim, VimTex: ambienti e comandi in LaTeX

Immagine
Indice 1. Un sistema intelligente per scrivere 2. Funzioni integrate in Vimtex per ambienti e comandi 3. Creare una funzione surround in VimTex basata sul plugin surround.vim 1. Un sistema intelligente per scrivere Vim è un ottimo strumento per elaborare i testi. LaTeX è un sistema di composizione tipografica "allo stato dell'arte". Vim e LaTeX insieme costituiscono un potente sistema di scrittura, ma è necessario un componente aggiuntivo per metterli in relazione. https://github.com/lervag/vimtex [VimTex]] fornisce esattamente questo obiettivo: mettere in relazione Vim con LaTeX e fa il suo lavoro molto bene. Quindi Vim e VimTex sono un sistema intelligente per ogni tipo di scrittore in LaTeX. L'argomento è vastissimo e non può certamente essere contenuto in un breve articolo come questo. In questo articolo mi limito a trattare delle funzioni per la gestione di ambienti e comandi. 2. Funzioni integr...

Vim Is Magic or Nomagic?

Immagine
Cos’è questo scherzo? Il titolo è uno scherzo con il nome di “ V.I.M. ” (ho mantenuto il titolo in inglese per non perdere il gioco di parole ) ma, allo stesso tempo, è una modalità reale di Vim stesso: la Modalità Magica ( Magic Mode ). Per capire cos’è il Magic Mode , la fonte primaria è la voce :help magic di Vim. In poche parole: - La Modalità magica si riferisce alle espressioni regolari . - La modalità magica è abilitata per impostazione predefinita in Vim. - È possibile invocare esplicitamente la Modalità magica con il comando \m nell’area di ricerca delle Espressioni Regolari . - Per disattivarla è necessario impostare \M ( m maiuscola) nell’area di ricerca. - Quando si usa il comando \M si richiama la Modalità Non magica . - La modalità Non magica trasforma “ quasi tutti i simboli regex speciali in simboli ordinari, a meno che non inizino con una barra rovesciata ”. - Esiste anche una modalità Molto Non magica che estende l’effetto ad altri caratteri, non rilev...

Markdown in Firefox

Immagine
Abstract Utilizzare Mozilla Firefox come visualizzatore di documenti scritti in Markdown sotto Linux Ubuntu, Fedora and Arch, con menzione di MS Windows e macOS. Mozilla Firefox ed il formato Markdown Mozilla Firefox, uno dei migliori navigatori di Internet, non legge nativamente i documenti scritti in Markdown. Se si prova ad aprire un documento scritto in Markdown il navigatore chiede se debba salvarlo in locale o se debba aprirlo con un’applicazione tra quelle proposte dal sistema operativo. Ma non renderizza il documento. Occorre, quindi, utilizzare un componente aggiuntivo per visualizzare un documento scritto in Markdown in modalità renderizzata all’interno del navigatore. Un ottimo componente è Markdown Viewer Webext . Oltre alla visualizzazione del contenuto scritto in Mardown, il componente rende disponibile un sommario a scomparsa che consente anche di scegliere lo stile ( default e github ) e di scaricare in locale la versione HTML del documento. Ho avuto, tuttav...

Vim, UltiSnips ed Honza vim-snippets: differenza e gestione delle cartelle snippets ed UltiSnips

Immagine
Qual è l’argomento di questo articolo? In questo articolo parlerò di Vim, degli snippet realizzati da SirVer UltiSnip : “ la soluzione definitiva per gli snippet in Vim ” e Honza vim-snippets (di seguito indicato anche semplicemente come “honza”). Per ulteriori informazioni si può fare riferimento a questo mio precedente articolo . SirVer UltiSnip è un plugin per lanciare e gestire gli snippet in Vim. L’applicazione non contiene snippet ma è possibile creare i propri seguendo la sintassi del plugin o utilizzare una raccolta di snippet già pronti. Honza vim-snippets contiene una vasta raccolta di snippet per vari linguaggi. In realtà nel repository Honza GitHub si trovano due raccolte separate di snippet per gli stessi linguaggi. Qual è la differenza? Questo è l’argomento di cui parleremo in questo articolo. Tutte le operazioni sono state eseguite su un computer con sistema operativo GNU/Linux. Honza e le raccolte di snippet Nel repository GitHub di Honza vim-snippets si ...

Vim: studio sulla trasposizione di elenchi di nomi da orizzontali a verticali

Immagine
Obiettivo primario dello studio Stato iniziale : serie di nomi in linea, separati da un punto e virgola seguito da uno spazio. Obiettivo : trasporre tutti i nomi in una colonna eliminando sia punti e virgola che gli spazi. Finalità : Creazione di elenco per mail-merging con client di posta elettronica ( Thunderbird ). Strumenti : Vim e funzione RegEx incorporata. Esempio : Da: One@mail; Two@mail; Three@mail; ... A: One@mail Two@mail Three@mail ... Obiettivo secondario Provare l’integrazione tra Markdown e tag css. Questo obiettivo è stato realizzato nell’Esempio sopra riportato mediante inserimento del seguente codice: <p style = "text-align: center; font-weight: bold;" > Da: </p> <pre> One@mail; Two@mail; Three@mail; ... </pre> <p style = "text-align: center; font-weight: bold;" > A: </p> <pre> One@mail Two@mail Three@mail ... </pre> Vim: espressione regolare per l’obiettivo ...

Vim: sostituire testo in tutti i buffer aperti con un solo comando

Immagine
Vim: è necessario sostituire del testo in tutti i buffer aperti? Avete necessità di effettuare una sostituzione tra due parole o frammenti di testo in tutti i documenti aperti? La prima opzione è quella di aprire tutti i documenti e di effettuare una ricerca con sostituzione in ciascuno di essi. La stringa di ricerca e sostituzione sarebbe simile a quella sotto riportata dove foo sarebbe il dato da sostituire e bar il dato sostituto. %s/foo/bar/g La lettera g a fine stringa determina la sostituzione g lobale evitando la richiesta di accettazione per ogni elemento sostituito. Vim: è possibile effettuare l’operazione con un solo comando? Quello precedentemente illustrato è già un buon sistema, ma si può fare di meglio: si possono sostituire tutti gli elementi in tutti i documenti aperti in Vim con un unico comando . Il comando è il seguente: :bufdo %s/foo//g | w In pratica il comando bufdo estende l’operazione a tutti i buffer aperti. Il nome stesso è mnemonico in quanto...

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

Immagine
Prefazione Questo è un articolo riassuntivo di due precedenti post che potete leggere a queste pagine: “Vim: Studio sulla costruzione di Espressioni Regolari per cancellare o ridurre righe vuote con il Comando Globale” “Emacs: Studio sulla costruzione di espressioni regolari per eliminare o ridurre le righe vuote” 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 Obiettivo Vim Emacs Eliminare le righe vuote “pure” :g/^$/d M-x flush-lines <RET> ^$ <RET> Eliminare le righe vuote con spazi bianchi :g/^\s*$/d M-x flush-lines <RET> ^\s-*$ <RET> Ridurre le righe vuote “pure” :g/^$\n^$/d M-x query-replace-regexp <RET> ^C-qC-j\{2,\} <RET> C-qC-j <RET> Ridurre le righe vuote con spazi bianchi g/^\s*$\n^\s*$/d ^\(^C-q<SP...