Di seguito troverai le pagine che utilizzano il termine “Vim”
Vim, Sublime Text, Visual Studio Code ed i cursori multipli.
Articolo sulla gestione comparata dei cursori multipli in Sublime Text, Visual Studio Code e Vim.
- 1. Cursori multipli? Multi-cursori? Di cosa stiamo parlando?
- 2. Chi ha “inventato” i cursori multipli?
- 3. I cursori multipli in Sublime Text 3 e 4.
- 4. I cursori multipli in Visual Studio Code.
- 5. Confronto tra Sublime Text e Visual Studio Code
- 6. Vim e le funzioni integrate di modifica multipla.
- 7. Multi cursori effettivi anche su Vim.
1. Cursori multipli? Multi-cursori? Di cosa stiamo parlando?
Cosa sono i cursori multipli?
Vim e le liste di snippet per UltiSnips ed altri plugin.
Articolo sulle diverse raccolte di snippet per diversi plugin di Vim e sulla possibilità di convertire da un formato ad un altro.
- 1. Premessa
- 2. Passaggi per utilizzare gli snippet
- 3. Snippet personalizzati in locale.
- 4. Honza: perché due diverse raccolte di snippet?
- 5. Sintesi tra le due raccolte.
- 6. È possibile “mescolare” gli snippet delle due raccolte?
1. Premessa
Nell’articolo “Vim, UltiSnips ed Honza vim-snippets: differenza e gestione delle cartelle snippets ed UltiSnips” ho già affrontato il tema degli snippet e di UltiSnips per Vim:
Markdown con Vim, Emacs, Sublime Text 4 e Visual Studio Code
Come se la cavano quattro editor generalisti, ovvero progettati per essere utilizzati con una vasta gamma di linguaggi di programmazione e file di testo, per la scrittura di documenti in linguaggio Markdown? Questo è l’oggetto di questo articolo basato sulle mie esperienze personali nell’utilizzo di Vim, Emacs, Sublime Text 4 e Visual Studio Code sia direttamente che con estensioni dedicate al predetto linguaggio di marcatura.
Generazione automatica di collegamenti ipertestuali, in ambiente LaTeX mediante le Espressioni Regolari di Vim, tra atti giudiziari e documenti prodotti.
Abstract: Vim è un editor dalle infinite risorse. Può anche anche generare, grazie alle Espressioni Regolari incorporate, collegamenti ipertestuali in linguaggio LaTeX verso altri documenti presenti in locale. Per gli Avvocati ciò significa collegare un atto principale con le relative produzioni documentali. Questa è l’analisi del procedimento.
- 1. Oggetto di questo articolo.
- 2. Prima di cominciare.
- 3. Configurazione del documento principale.
- 4. Formula in RegEx per la generazione automatica dei collegamenti.
- 5. Spiegazione della formula RegEx.
- 6. Gestione del “carattere di sottolineatura”.
- 7. Collegamenti all’interno del testo
1. Oggetto di questo articolo.
A volte occorre inserire in un documento principale in PDF una lista di documenti da richiamare con specifici collegamenti ipertestuali dedicati ad ogni elemento della lista.
Dagli Oggetti di Testo in Vim ai Blocchi di Testo in Gutenberg per WordPress.
A proposito di Vim e Gutenberg
Vim è un editor a linea di comando. Gutenberg per WordPress è un editor visuale.
Vim è stato creato nel 1987, come evoluzione dal precedente Vi. Gutenberg è diventato l’editor predefinito di WordPress dalla versione 5.0 del CMS, rilasciata il 27 novembre 2018.
Sono strumenti di scrittura cronologicamente e strutturalmente molto distanti tra loro.
Ma, nonostante le diffenze, vi sono anche alcune analogie.
Vim consente di scrivere trattando il testo come “oggetto”. Gutenberg consente di scrivere trattando il testo come “blocco”.
Potente sistema di Riconoscimento Ottico di Caratteri sotto GNU/Linux per documenti PDF gestito da riga di comando e con rifinitura in Vim.
Premessa
L’idea è nata dalla lettura di questo articolo a proposito del riconoscimento ottico dei caratteri (OCR) in ambiente GNU/Linux da immagini e PDF, gestito da linea di comando.
Ovviamente i documenti PDF sono quelli di tipo scansionato da originale cartaceo, ovvero non ottenuti da salvataggio diretto di documento in formato digitale. Per questi ultimi non occorre alcun OCR.
L’articolo è scritto molto bene ed il risultato finale è ottimo.
Mi sono chiesto se fosse possibile aggregare tutti i passaggi in un unico comando di testo.
Appunti sulla risoluzione delle differenze tra due documenti con le risorse integrate di Vim ed Emacs
Di cosa parliamo?
In questo articolo, riporto la mia esperienza pratica su come utilizzare le risorse integrate di Vim ed Emacs per risolvere ed annullare le differenze tra due documenti.
Mi è, infatti, capitato di aggiornare due documenti in modo “disordinato” tanto da non ricordare più quali siano gli aggiornamenti da mantenere sull’uno e sull’altro.
Sia Vim che Emacs offrono strumenti integrati molto semplici ed efficaci per verificare e risolvere tali differenze.
Vim e l'anteprima in Markdown
Premessa
Vim è un ottimo editor per Markdown, sia per le proprie caratteristche “native” che per la possibilità di aggiungere specifiche funzioni tramite “plugin”.
Per la visualizzazione in anteprima dei documenti occorre, a meno che non si utilizzi la soluzione “manuale” menzionata al termine di questo articolo, utilizzare un “plugin” dedicato.
Fino a qualche anno fa, il mio preferito era “iamcco/markdown-preview.vim” perchè forniva un vero effetto live in tempo reale durante la digitazione del testo, ancora prima del salvataggio periodico.
Vim - VimTex, Emacs - AucTeX: creare ambienti in campi vuoti
Di cosa parliamo?
Questo post è il seguito del mio precedente intitolato “Vim, VimTex: ambienti e comandi in LaTeX” in cui ho descritto la creazione di tag di ambiente nel linguaggio LaTeX attraverso il plugin “surround.vim” di Vim.
In particolare, ho descritto come aggiungere tag di ambiente agli oggetti words e lines non vuoti, cioè a partire da testo già esistente.
Se avete bisogno di un promemoria sul concetto di “linea” in Vim, potete fare riferimento a questo mio articolo: [[https://francopasut.netlify.app/post/vim_double_motions/][“Cosa si intende per “linea” in Vim? Come configurare una doppia modalità alternata di movimento tra le righe?”.]
A proposito di Vim e del Comando Globale
Vim e il comando globale: struttura di base
Questo articolo non è una completa disamina del Comando Globale in Vim ma è solo una serie di osservazioni personali sullo stesso.
Potete trovare una buona rassegna, scritta da chi ne sa molto più di me, in questa pagina.
Con il “Comando globale” di Vim (g
) è possibile replicare vari
ex-comandi su più righe.
La struttura di base del comando globale è molto semplice:
:g/pattern/command
, ovvero:
Vim, VimTex: ambienti e comandi in LaTeX
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.
Vim Is Magic or Nomagic?
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 rilevanti per questo articolo.
Quando la modalità magica (predefinita) è migliore di quella non magica?
Per analizzare la differenza tra modalità magica e non magica, riprendo una formula da un mio precedente articolo.
Vim, UltiSnips ed Honza vim-snippets: differenza e gestione delle cartelle snippets ed UltiSnips
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.
Vim: studio sulla trasposizione di elenchi di nomi da orizzontali a verticali
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:
Obiettivo secondario
Provare l’integrazione tra Markdown e tag css.
Vim: sostituire testo in tutti i buffer aperti con un solo comando
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.
Confronto tra Vim ed Emacs per un'operazione di sostituzione tramite espressioni regolari
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.
Vim: Studio sulla costruzione di Espressioni Regolari per cancellare o ridurre righe vuote con il Comando Globale
Prefazione
Sul tema di questo articolo richiamo il mio precedente studio: “Vim ed Espressioni Regolari per la rimozione degli spazi bianchi ridondanti”
A differenza dell’articolo precedente, qui la presenza degli spazi bianchi determina soluzioni differenti rispetto alle righe vuote indipendentemente dal numero delle loro occorrenze.
Lo studio di questo articolo è dedicato sia all’analisi delle “espressioni regolari” che al comando globale di Vim.
Vim ed il Comando Globale
Il comando globale in Vim è il tasto g
.
Cosa si intende per "riga" in Vim? Come si configura una doppia modalità alternativa di movimento tra le righe?
Perché la definizione di riga Vim è “speciale”?
In Vim una “riga” è un insieme di caratteri che termina con un ritorno capo.
Tutto qui?
Sembra ovvio, ma cosa cambia rispetto alla definizione di “riga” di altri sistemi di scrittura?
Semplice: in altri ambienti solitamente le “righe” si interrompono al margine destro del monitor. In Vim no.
Nulla cambia per le righe brevi, ovvero che non eccedano il margine destro.
Vim ed Espressioni Regolari per la rimozione degli spazi bianchi ridondanti
Premessa e struttura dell’articolo
Ho scritto questo articolo per esercitarmi “sul campo” nella costruzione delle formule delle Espressioni Regolari, anche denominate RegEx in Vim.
In particolare l’obiettivo è quello di “ripulire” documenti con spazi bianchi in eccedenza sia all’inizio che alla fine di ogni riga.
Per la comprensione dell’articolo è sufficiente una conoscenza di base di Vim e delle Espressioni Regolari integrate nell’editor.
Le varie formule vengono applicate su documenti interi ma, trattandosi di normalissimi comandi di ricerca in Vim, possono essere applicate a singole righe o a intervalli specifici di righe nel contesto del documento.
Saltare tra coppie di caratteri e tag corrispondenti in Vim ed Emacs
Quando si codifica o si scrive in un linguaggio di markup come HTML, Markdown o LaTeX, è molto utile saltare attraverso coppie di caratteri corrispondenti, come parentesi o tag.
Sia Vim che Emacs hanno comandi dedicati a questo scopo.
Saltare tra coppie di caratteri corrispondenti usando Vim
Vim utilizza un comando a “carattere singolo” per saltare alle coppie corrispondenti più vicine e posizionare il cursore in quella di chiusura: %
.
Per esempio: supponiamo che il cursore sia posizionato all’inizio della seguente frase:
Vim: copiare il testo direttamente al blocco appunti del sistema operativo
Tagliare e copiare in Vim: introduzione
Per l’introduzione all’argomento riguardante le funzioni di Taglia, Copia e Incolla in Vim potete leggere un mio precedente articolo.
L’oggetto dell’attuale articolo è costituito, invece, da una fuzionalità di Vim che ho scoperto leggendo questa pagina e che è strettamente collegata all’argomento precedente.
Vim può indirizzare direttamente le operazioni di taglia e copia effettuate sui testi al registro della memoria di sistema (clipboard).
Non è, quindi, necessario selezionare prima il testo, per copiarlo nella clipobard, come invece avviene in altri sistemi di scrittura su dispositivi digitali.
Usare Vim per scrivere partiture in LilyPond
A proposito di LilyPond
LilyPond è un linguaggio per produrre eleganti partiture musicali, strutturalmente simile a LaTeX con il quale può integrarsi per generare documenti contenenti testo e musica (per l’integrazione tra LilyPond e LaTeX richiamo questo mio articolo.)
Anche in LilyPond, come in LaTeX, è possibile scrivere il contenuto con vari editor.
Molto utile, sopratutto per imparare la sintassi, è l’editor denominato Frescobaldi.
Per chi, invece, ha già imparato la sintassi, può essere utile sfruttare le infinite potenzialità di Emacs e Vim,
Vim: alcune modalità per aprire documenti singoli o multipli
Tabella di sintesi
Alcuni comandi di Vim di cui parlerò in questo articolo:
Scrivo | Per ottenere |
---|---|
vim document_name | Per avviare Vim e aprire un documento |
gvim document_name | Per avviare Vim in modalità grafica ed aprire un documento |
vim file-1 file-2 file-n | Per avviare Vim ed aprire multipli documenti |
vim -p file-1 file-2 file-n | Per avviare Vim ed aprire multipli documenti in schede separate |
vim -o file-1 file-2 file-n | Per avviare Vim ed aprire multipli documenti in finestre sovrapposte in orizzontale |
vim -O file-1 file-2 file-n | Per avviare Vim ed aprire multipli documenti in finestre sovrapposte in verticale |
sp doc_name | Per aggiungere un documento in finestra con separatore orizzontale quando Vim è già in esecuzione |
vs doc_name | Per aggiungere un documento in finestra con separatore verticale quando Vim è già in esecuzione |
tabe doc_name | Per aggiungere un documento in una scheda quanto Vim è in esecuzione |
Vim offre molte opzioni per aprire o creare file singoli o multipli dalla riga di comando o mentre l’applicazione è in esecuzione.
Vim e la ricerca di testo contenente una barra obliqua o un punto di domanda
Breve premessa sulla ricerca in Vim
La ricerca in Vim viene attivata premendo in modalità normale la barra
obliqua "/"
(da non confondere con la barra retroversa
"\"
) o il punto di domanda.
Nel primo caso viene attivata la ricerca dal cursore in avanti, nel secondo caso all'indietro.
Per avanzare il puntatore nei risultati della ricerca si preme il
carattere "n"
(mnemonico per "next"). Per invertire la
direzione del puntatore si preme il carattere "N"
, ovvero
"n maiuscolo".
Vim, Markdown, Snippets, UltiSnips: come ottenere un link ben formattato con un comando unico
Obiettivo di questo articolo
L’obiettivo di questo post è quello di ottenere un link correttamente formattato in Markdown unendo in un unico comando un frammento di testo e un indirizzo Internet preventivamente salvato negli appunti di Vim.
Naturalmente presumo che chiunque stia leggendo questo post sappia come creare un collegamento ben formattato in Markdown, cioè testo tra parentesi quadre e URL tra parentesi tonde.
Perché mi sono posto questa domanda?
Vim: Taglia, Copia e Incolla da e verso la memoria del Sistema Operativo
Taglia, Copia e Incolla usando la tastiera del computer
Tutti sanno come usare le combinazioni da tastiera Ctrl-c
, Ctrl-x
e Ctrl-v
in Windows e Linux oppure Cmd-c
, Cmd-x
e Cmd-v
in
macOS per copiare, tagliare e incollare testo tra le varie applicazioni.
Molti pensano che quelle combinazioni siano universali e funzionino con qualsiasi applicazione. Ma non è così.
In particolare, Vim usa un altro sistema per scambiare le informazioni con il “resto del mondo” su computer.
Brevi animazioni introduttive sulle Espressioni Regolari in Vim ed Emacs
Una non-prefazione a proposito delle “Espressioni Regolari”
Usando Vim ed Emacs per scrivere in LaTeX ho avuto modo di apprezzare la straordinaria efficienza delle “Espressioni Regolari”, anche conosciute con il nome RegEx o RegExp.
Vim and Emacs sono nativamente predisposti per la gestione delle Espressioni Regolari.
Ho predisposto alcuni brevi animazioni sull’utilizzo di base delle Espressioni Regolari in entrambi gli editori.
Le animazioni sono rivolte non agli sviluppatori, che le troveranno eccessivamente semplici, ma a chi usa Vim ed Emacs per scrivere articoli o documenti, con LaTeX o Markdown.
Vim: cancellare frasi e paragrafi con gli "Oggetti di Testo"
Vim riduce l’affaticamento degli occhi
Un’incredibile caratteristica di Vim è la sua capacità di effettuare operazioni all’interno di interi blocchi di testo chiamati “Oggetti di Testo”, come ad esempio parole, frasi e paragrafi, a prescindere dalla posizione del cursore all’interno degli oggetti.
Questo significa che potete piazzare il cursore ovunque all’interno del blocco di testo riducendo l’affaticamento degli occhi davanti al monitor.
La "linea evolutiva" tra Ed, Vi e Vim
Piccola prefazione a proposito di Ed, Vi and Vim
Avete mai sentito parlare di Ed e Vi? Probabilmente avrete sentito parlare di Vim.
Sono sistemi di scrittura a linea di comando.
Ed è stato creato nel 1969 ed è stato uno dei primi componenti del sistema operativo Unix.
Vi risale al 1976 ed è stato il sistema di scrittura standard per Unix fino all’arrivo, nel 1984, di Emacs.
Vim è nato nel 1991 ed è attualmente il più veloce sistema di scrittura dell’universo!
Vim, movimenti lampo tra diverse finestre con EasyMotion
Breve introduzione
Vim può saltare velocemente attraverso diversi documenti.
Vi è mai capitato di muovere il cursore usando i tasti freccia e premere continuamente i tasti fino al punto desiderato?
Se utilizzate Vim quei movimenti saranno soltanto un brutto ricordo.
Dovete soltanto installare il componente aggiuntivo EasyMotion e aggiungere qualche piccola configurazione.
Installazione e configurazione di EasyMotion
L’installazione del componente EasyMotion è veramente molto semplice.
Se utilizzate Vim Plug per gestire i componenti aggiuntivi, attualmente il mio gestore favorito, tutto ciò che dovete fare è inserire nel vostro .vimrc le seguenti stringhe: