Avvocati e Mac

impara a lavorare in modo efficiente con macOS ed iOS

  • 📰 Articoli, 🎙Podcast e 📺 Webinar
    • Articoli
    • Podcast Compendium
    • A2 podcast
    • Webinar
  • 🗺 Percorsi di approfondimento
  • 👨‍🎓 Chi sono, 📡 RSS e 📧 Newsletter
    • Chi sono
    • Newsletter
    • RSS
Trucco Vim (Netrw) e a-Shell per anteprima documenti.001.jpeg

Trucchi per aprire su iPad (ma che funziona anche su macOS) con a-Shell anteprima dei documenti in Vim

July 12, 2021 by Filippo Strozzi in Lavorare con iPad, Vim per scrittori, digitalizzazione, PCT

Sto usando sempre più Vim all’interno di a-Shell per scrivere questi articoli così come per i miei atti.

Per puro caso, mentre leggevo questa cheatsheet (traducibile in italiano forse come bigliettino, guida rapida) mi sono imbattuto in una funzione interessante che, poi, mi ha permesso di implementare anche un trucco direttamente all’interno di Vim.

In estrema sintesi ho trovato un modo rapido per visualizzare l’anteprima di documenti mentre sto scrivendo / lavorando in Vim e, così facendo, ho reso più rapido e veloce il mio flusso di lavoro quotidiano.

Credo che questa soluzione, non particolarmente complessa, possa rendere maggiormente appetibile l’utilizzo su iPad di a-Shell ed in particolare di Vim per cui condivido con voi questi interessanti trucchetti.

Ma prima …

1. Cos'è Netrw?

Molti non lo sanno ma Netrw è un browser testuale di documenti, presente all’interno di Vim, per navigare ed aprire documenti in Vim stesso.

Quella che vedete qui sotto è la rappresentazione base di Netrw e, diciamocelo, non è molto accattivante.

Immagine della versione di Netrw c.d. vanilla cioè originale

Immagine della versione di Netrw c.d. vanilla cioè originale

Personalmente nel mio .vimrc inserisco sempre le seguenti istruzioni che rendono l’interfaccia di Netrw decisamente più piacevole. Se volete potete tranquillamente copiarlo nel vostro .vimrc.

" Configurazione Netrw (browser file di Vim)
let g:netrw_banner = 0          " Toglie la barra in alto di spiegazioni
let g:netrw_liststyle = 3      " Stile dell'alberatura dei file
let g:netrw_browse_split = 3  " File aperto in un nuovo tab (1 split orrizzontale, 2 split veritcale, 4 nella precedente finestra)
let g:netrw_winsize = 25      " split di 25 caratteri

Così facendo Netrw si aprirà sulla sinistra della finestra principale di Vim (come mostrato nell’immagine sottostante) e potrà essere richiusa semplicemente digitando ZZ.

A questo potete selezionare un documento o aprire una cartella (usando il tasto invio e le frecce o j e k) per aprire il documento selezionato in un nuovo tab di Vim.

Immagine di Netrw in una configurazione più accattivante

Immagine di Netrw in una configurazione più accattivante

Grazie poi alla scorciatoia a tastiera che ho spiegato in questo articolo lo split verticale è modificabile utilizzando in modalità normale i tasti 1 e 2.

2. Come aprire un documento in anteprima con Netrw il file browser di Vim

Veniamo quindi al trucchetto interessante di cui vi volevo parlare.

Se aprite un file di testo, come vi ho spiegato poco sopra, Vim provvederà a visualizzarvelo ma se, ad esempio, aprite un PDF vi comparirà a schermo una cosa simile a quella mostrata qui sotto.

Immagine di un PDF aperto in Vim

Immagine di un PDF aperto in Vim

Immagine di un PDF aperto in Vim

Ciò è dovuto al fatto che Vim non è in grado di visualizzare correttamente un PDF e ne visualizza solo la versione testuale del file binario.

Esempio del Comando Rapido di anteprima per iOS / iPadOS da utilizzare in a-Shell

Esempio del Comando Rapido di anteprima per iOS / iPadOS da utilizzare in a-Shell

Se tuttavia in Netrw, una volta selezionato il file non testuale che si vuole aprire, si digita la lettera “x” (x minuscola) è possibile aprire con il programma di sistema associato il file così individuato.

Mi sono quindi domandato se il tutto funzionasse anche nella versione di Vim contenuta in a-Shell.

Infatti, in questo caso, una simile funzione avrebbe semplificato notevolmente la gestione all’interno dell’applicazione dei documenti (spesso PDF) che, in molte occasioni, devo esaminare.

Con piacere ho scoperto che digitando x dopo aver selezionato i documenti in Netrw, a-Shell fa partire il comando open che permette di condividere nella sharesheet il documento (non view che invece aprirebbe l’anteprima - vi ho parlato di questi due comandi di a-Shell qui).

Ero quindi a metà dell’opera, almeno dal mio punto di vista.

Ho creato un Comando Rapido minimale che per comodità riporto qui sotto.

Il Comando Rapido prende l’input fornito dalla sharesheet (il documento che abbiamo selezionato precedentemente) e lo passa ad una azione di anteprima che mi permette di visualizzare a schermo intero (perché così ho deciso io nelle impostazioni dell’azione) il documento.

Unica ovvia limitazione di questo “trucco” è che il documento deve essere visualizzabile dall’anteprima di iOS / iPadOS.

Siccome l’appetito vien mangiando mi è venuto in mente che, una simile soluzione, mi sarebbe venuta comoda anche mentre sto scrivendo in Vim.

Ed eccoci al secondo trucco.

3. Aprire documenti e URL all’interno di Vim

Partiamo da una breve premessa.

In Vim se si è sul nome di un file utilizzando il comando gf, la qui mnemonica potrebbe essere Go to File (ovvero, tradotto in italiano, vai al documento), Vim apre il suddetto documento.

La cosa interessante di questo comando è che non c'è da selezionare l'intero testo del nome del file, basta far atterrare in una qualsiasi posizione il nostro cursore sul nome e digitare gf e boom … vi trovate lì.

Ovviamente questa non è magia, ma semplicemente dietro le quinte Vim è sufficientemente intelligente da riconoscere il percorso del documento ed aprilo.

Questa opzione è molto utile per chi scrive codice (permette infatti di muoversi velocemente da un file all’altro di un progetto).

Questa funzione, tuttavia, è molto comoda anche per chi scrive in Markdown o in LaTeX.

Infatti in tutti e due i linguaggi di markup si fa riferimento a dei documenti nel file system: quando ad esempio si inserisce una immagine in markdown od un link ad un documento (per esempio negli atti telematici avanzati) così come in LaTeX dove, addirittura, si può includere delle porzioni di testo da documenti “esterni” (ve ne parlerò in un futuro articolo).

gf tuttavia è utile, come sempre, solo per i documenti scritti in testo semplice che vengono letti senza problemi da Vim.

Sarebbe molto comodo poter aprire e visualizzare rapidamente anche altre tipologie di documenti, ad esempio PDF o immagini.

3.1 Usare nuovamente il comando open di a-Shell ed il sistema di parsing del percorso del documento di Vim

Ho quindi guardato in giro per internet fino a che non ho trovato questo post.

Tra i vari suggerimenti presenti quello che ho trovato più comodo e come soluzione più rapida è il seguente.

Mappare il comando gO ed utilizzare il comando open di a-Shell per aprire indifferentemente URL su cui si trova il vostro cursore o file su cui si trova il cursore (ovviamente per i file questi devono essere reperibili in a-Shell grazie ai bookmark di iOS quindi c'è bisogno di un minimo di premure perché tutto funzioni).

La bellezza del comando open di a-Shell è che accetta indifferentemente il percorso di un file così come un url tipo https:// … .

Per fare questo occorre passare al comando di a-Shell la stringa (il percorso del documento o l’url da aprire nel browser) estrapolata da Vim. È possibile fare ciò inserendo la funzione <cfile> dopo il comando di a-Shell open.

Mi è quindi bastato inserire nel mio .vimrc per a-Shell il seguente testo:

noremap gO :!open <cfile><CR>

3.2 Riferimenti a documentazione e materiale a corredo in iOS / iPadOS e macOS grazie a DEVONthink

Ultimo aspetto positivo di questo sistema è che, oltre che alle semplici pagine web, il sistema funziona con gli URL Schemes di iOS e macOS.

Questo significa che inserendo un url come il seguente:

x-devonthink-item://CCF73D3A-2FAD-4D72-9ACA-ACD30318646B?page=37

è possibile aprire un PDF contenuto all’interno di DEVONthink (per iOS / iPadOS come per macOS). Questo sistema funziona per tutte le applicazioni che hanno una qualche implementazione di Url Schemes e permette di avere del materiale di riferimento mentre si scrive facilmente consultabile in iOS / iPadOS.

3.3 Il comando open su macOS ed alcune sue limitazioni

Chiosa finale di tutto questo discorso: anche su macOS questo comando funziona perfettamente in Vim.

Differente discorso dovrebbe valere per gli indirizzi web. Se siete incuriositi dalla possibilità, tuttavia, vi segnalo questo script per aprire URL nella riga che ho trovato su internet.

Personalmente ho fatto qualche test ed il comando open di macOS funziona in modo similare ad a-Shell ma resto a disposizione se qualcuno si trovasse a riscontrare qualche differenza. Credo che il problema principale sia la conversione degli spazi ed altri caratteri speciali negli URL ma io abitualmente inserisco già correttamente formattati e quindi non ho di questi problemi.

4. Una ultima considerazione / limitazione sui segnalibri (bookmark) di a-Shell ed iOS / iPadOS

Tengo per ultimo l’argomento più “spinoso” e tecnico.

Come vi ho spiegato in questo articolo grazie alla funzione pickFolder è possibile creare un segnalibro (bookmark) all’interno di a-Shell che punti ad una specifica cartella di File sul vostro iPhone / iPad.

Grazie a ciò, a-Shell è in grado di accedere a tutti i documenti ed alle sotto-cartelle contenuti in quel segnalibro. Questo è il sistema di Apple per permette ad una applicazione di accedere ad altre cartelle del File System di iOS / iPadOS, ma ha delle limitazioni che devono essere tenute in debita considerazione.

  1. Non tutte le applicazioni danno accesso completo alle loro cartelle: personalmente uso Working Copy (per i miei articoli di Avvocati e Mac) e Secure ShellFish (per le pratiche di lavoro) ed entrambe le applicazioni espongono le loro cartelle senza problemi ad a-Shell. Così non è ad esempio per NextCloud o DropBox giusto per fare due nomi.
  2. Bisogna fare attenzione a quale cartella principale si condivide: il sistema di apertura dei documenti funziona solo se a-Shell ha accesso alla cartella in cui si trova il file che vogliamo aprire; questo significa che è importante da quale cartella partiamo per garantire l’accesso ad a-Shell; nel caso delle mie pratiche, ad esempio, io ho dato accesso ad a-Shell alla cartella principale in cui sono contenute tutte le sotto-cartelle con le singole pratiche (all'interno delle quali sono presenti ulteriori sottocartelle), in questo modo ho accesso a tutto il contenuto e da una pratica posso, se voglio, aprire documenti contenuti in un’altra pratica.
  3. Alla riapertura di a-Shell potrebbe essere necessario ri-dare accesso alle cartelle esterne: ho notato che, dopo il riavvio dell’iPad o di a-Shell (io sto utilizzando la beta ed a volte capita di dover riavviare l’app) si riceve un errore accedendo alle cartelle a cui si è fatto il bookmark o segnalibro, in questo caso occorre nuovamente fare il jump in a-Shell a quello specifico segnalibro. Io ho creato degli alias per velocizzare questa operazione (probabilmente sarà l’argomento di un futuro articolo).
  4. Il documento da aprire deve essere supportato in un qualche modo dall’anteprima di iOS / iPadOS e macOS: altrimenti non vedrete visualizzato nulla; nella maggior parte dei casi, quantomeno per la mia esperienza sono PDF o immagini, documenti che sono supportati senza problemi dall’anteprima di sistema non si hanno molti problemi ma è comunque qualcosa da tenere presente.

In conclusione

Per un avvocato scrivere, spesso, significa poter esaminare e far riferimento a documenti in poco tempo. Grazie alle funzioni incorporate di Vim ed alcuni comandi in a-Shell è possibile farlo con comodità all’interno di iPad. La cosa che personalmente trovo più interessante di questa soluzione è il fatto che l’unione di questi due strumenti renda molto più rapida l’anteprima dei documenti in iPad e riduca drasticamente l’interazione che si deve avere con lo schermo. Inoltre quanto implementato su iPad può essere implementato facilmente sul Mac rendendo il modo di lavorare indifferente sulle due piattaforme.

Sicuramente sia Vim che a-Shell hanno un minimo di curva d’apprendimento ma i benefici che portano al flusso di lavoro su iPad sono notevoli.

In primo piano
Automazione documentale per Word con la libreria docxTemplate
Apr 11, 2022
MS Word, Comandi Rapidi, automazione, a-Shell, Terminale
Automazione documentale per Word con la libreria docxTemplate
Apr 11, 2022
MS Word, Comandi Rapidi, automazione, a-Shell, Terminale

In questo, non breve articolo, vi spiego come sia possibile automatizzare la compilazione di un documento Word (senza addirittura utilizzare Word stesso) con la libreria Python docxTemplate e Comandi Rapidi.

Leggi tutto …

Apr 11, 2022
MS Word, Comandi Rapidi, automazione, a-Shell, Terminale
Trucchi per aprire su iPad (ma che funziona anche su macOS) con a-Shell anteprima dei documenti in Vim
Jul 12, 2021
a-Shell, macOS, iPadOS, Vim per scrivere documenti, Anteprima documento in Vim con a-Shell
Trucchi per aprire su iPad (ma che funziona anche su macOS) con a-Shell anteprima dei documenti in Vim
Jul 12, 2021
a-Shell, macOS, iPadOS, Vim per scrivere documenti, Anteprima documento in Vim con a-Shell

In questo articolo vi spiego alcuni trucchi per aprire velocemente l’anteprima di un documento all’interno di Vim (sia su iPadOS con a-Shell che su macOS) che migliorerà notevolmente il vostro flusso di lavoro con questi strumenti.

Leggi tutto …

Jul 12, 2021
a-Shell, macOS, iPadOS, Vim per scrivere documenti, Anteprima documento in Vim con a-Shell
Scrivere atti digitali telematici off-line su iPad con a-Shell: personalizzare l’esperienza in Vim (parte seconda)
Jun 21, 2021
a-Shell, Vim, personalizzazione Vim
Scrivere atti digitali telematici off-line su iPad con a-Shell: personalizzare l’esperienza in Vim (parte seconda)
Jun 21, 2021
a-Shell, Vim, personalizzazione Vim

Seconda parte dell’articolo in cui vi spiego come personalizzare Vim all’interno di a-Shell per un editing del testo più efficiente.

Leggi tutto …

Jun 21, 2021
a-Shell, Vim, personalizzazione Vim
Scrivere atti digitali telematici off-line su iPad usando a-Shell (parte prima)
Jun 14, 2021
a-Shell
Scrivere atti digitali telematici off-line su iPad usando a-Shell (parte prima)
Jun 14, 2021
a-Shell

In questo primo articolo parlo di come utilizzare alcune delle funzionalità più interessanti dell’app gratuita a-Shell.

Leggi tutto …

Jun 14, 2021
a-Shell
a-Shell e Comandi rapidi: come automatizzare un bot Telegram da iPad a riga di comando
Jan 11, 2021
a-Shell, Comandi Rapidi
a-Shell e Comandi rapidi: come automatizzare un bot Telegram da iPad a riga di comando
Jan 11, 2021
a-Shell, Comandi Rapidi

In questo articolo vi racconto come ho automatizzato su iPad un bot di Telegram (scritto in Python) usando a-Shell e Comandi Rapidi. Esercizio di stile ma credo utile per mostrare le potenzialità di a-Shell e le sue capacità di automazione con Comandi Rapidi (Shortcuts).

Leggi tutto …

Jan 11, 2021
a-Shell, Comandi Rapidi
Come aggirare alcune limitazioni di Nextcloud su iOS
Feb 24, 2020
Nextcloud, a-Shell, iA Writer, iOS, iPadOS
Come aggirare alcune limitazioni di Nextcloud su iOS
Feb 24, 2020
Nextcloud, a-Shell, iA Writer, iOS, iPadOS

In questo articolo parlo dell’apertura delle cartelle sul posto in iOS / iPadOS e di come ho aggirato, con l’uso di Secure ShellFish, alcune limitazioni di Nextcloud per iOS.

Leggi tutto …

Feb 24, 2020
Nextcloud, a-Shell, iA Writer, iOS, iPadOS
July 12, 2021 /Filippo Strozzi
a-Shell, macOS, iPadOS, Vim per scrivere documenti, Anteprima documento in Vim con a-Shell
Lavorare con iPad, Vim per scrittori, digitalizzazione, PCT
  • Newer
  • Older

Powered by Squarespace