Esempio della schermata di nnn.

Esempio della schermata di nnn.

Leonardo Finetti

Perché usare un file manager nel terminale?

Quando devo cercare un file ho bisogno di trovarlo nel più breve tempo possibile. Per questo motivo ho sempre adorato il file manager di KDE, Dolphin, in quanto permette la navigazione nel file system tramite tastiera molto più velocemente rispetto agli altri file manager. La selezione dei file digitande le iniziali ha un comportamento consistente e molto più preciso rispetto alle alternative, ed inoltre presenta un filtro dei file decisamente funzionale.

Purtroppo Dolphin richiede molte dipendenze di KDE che non uso più da diverso tempo, quindi ho cercato un file manager alternativo, leggero, veloce da usare e altrettanto comodo. Ho quindi trovato PCManFM, il file manager di LXDE. Funziona abbastanza bene ma non ha la stessa fluidità d’uso di Dolphin, soprattutto per attivare/disattivare il filtro rapido e, ogni tanto, perde anche il focus durante la ricerca dei file tramite la digitazione delle iniziali (difetto che ho riscontrato anche in molti altri file manager basati su libreria GTK).

Quindi ho provato alcuni programmi da terminale. Per un po' ho sperimentato Ranger che però ho trovato scomodo perciò ho continuato ad usare PCManFM, non ottimale ma meglio di niente.

Poi, casualmente, ho scoperto nnn che mi ha sorpreso grazie alla navigazione in tempo reale durante la digitazione. Mentre l’opzione è attiva (esiste anche un parametro per avviare il programma direttamente in questa modalità: -d) basta digitare alcuni caratteri per filtrare la lista corrente e, nel caso ci sia solo una corrispondenza, e questa sia una directory, automaticamente ci si entra dentro.

Questa funzionalità è addirittura troppo veloce per me quindi ho disabilitato l’apertura automatica delle directory perché a volte non mi rendo nemmeno conto di quello che succede, tanto è veloce.

Shortcut comuni

Un altro motivo per cui trovo nnn ottimo, è la presenza di shortcut molto facili. Ranger, ad esempio, usa la sintassi di VI. La conosco ma in questo contesto la trovo eccessivamente complessa.

Ecco le più comuni:

ShortcutAzione
xElimina
SpazioSeleziona file
pCopia la selezione nella directory corrente
vSposta la selezione nella directory corrente
CTRL+rRinomina
nCrea nuovo (file / directory / collegamento)
/Filtra (non serve se è attivo il filtro automatico)
zComprimi file selezionati
1-4Cambia tab (da 1 a 4)
TabCicla i tab

Supporto fino a 4 schede (context)

Una caratteristica molto comoda dei file manager grafici è la possibilità di avere più schede in modo da avere più directory a portata di mano per un massimo di 4. Su nnn le schede si chiamano “context” e si può passare da una scheda all’altra o premendo i tasti dall'1 al 4, oppure con il tasto Tab.

Funzionalità avanzate

nnn supporta anche funzionalità avanzate come la navigazione nei file su server remoti tramite SSH, la creazione di segnalibri, l’utilizzo di plugin per estendere le funzionalità di base e la rinominazione di file sfruttando un editor esterno.

Proprio questo ultimo punto è molto interessante, usando VIM come editor predefinito di nnn si riesce a rinominare i file sfruttando le potenzialità dell’editor, ad esempio usando le espressioni regolari.

Plugin per nnn

Su Github sono presenti numerosi plugin per aumentare le funzionalità del programma. I più interessanti sono:

  • dups: ricerca di file duplicati
  • chksum: effettua la creazione ed il controllo dei checksum dei file.
  • diffs: lancia il comando diff per trovare le differenze tra due file (tramite vimdiff).

I plugin per nnn non sono altro che degli script eseguibili (o binari) che vengono eseguiti da nnn e che ci scambiano informazioni, pertanto possono essere sviluppati in qualunque linguaggio.

La mia configurazione di nnn

La configurazione di nnn avviene tramite variabili di ambiente e con parametri di avvio da riga di comando. Dopo alcune sperimentazioni ho trovato il giusto bilanciamento eseguendo il programma con i seguenti parametri:

nnn -e -d -C -n -A -o -x
  • -e: usa la variabile di ambiente $VISUAL~/$EDITOR (o VI come fallback) per aprire e modificare i file.
  • -d: parte in modalità dettagliata mostrando data, ora, permessi e dimensione dei file.
  • -C: usa lo schema di colori ereditato dal terminale.
  • -n: attiva la modalità type to nav per la navigazione veloce.
  • -A: disattiva l’apertura automatica delle directory.
  • -o: apre i file solo tramite il tasto “Invio” (di default si possono aprire anche con la freccia a destra).
  • -x: copia automaticamente i percorsi di file selezionati nella clipboard.

È il file manager definitivo?

Questo software non è perfetto, ad esempio l’anteprima delle immagini non è pratica come in un file manager grafico, però c’è anche da dire che in quel caso c’è sempre PCManFM installato, nessuno mi vieta di usare il programma giusto al momento giusto.

Nessuno mi vieta di usare il programma giusto al momento giusto.

Leonardo Finetti

Leonardo Finetti
Si occupa di informatica dalla metà degli anni novanta principalmente in ambito web con tecnologie Open Source. Esperto di Drupal e di SEO offre consulenze in tali ambiti e nel tempo libero si diletta scrivendo articoli di informatica ed anche di design, ergonomia, usabilità e sicurezza.

Se ti piace questo sito puoi usare il link di affiliazione Amazon cliccando qui.