## page was renamed from jeremie2/Prove3 #format wiki #language it <
> <> <> = Introduzione = '''Helix''' è un editor di testo modale utilizzabile nel [[AmministrazioneSistema/Terminale|terminale]] simile a '''Vim''' ma con la caratteristica particolare di ridurre al minimo eventuali configurazioni per avere da subito un editor con una buona impostazione di default e ottime funzionalità a portata di mano. Nonostante '''Helix''' possa semplificare la vita rispetto a editor come '''Vim''', '''!NeoVim''', '''Emacs''', ecc.. essendo un software evoluto per l'editazione di testi, richiede comunque un certo impegno per impararne l'utilizzo.<
> In questa guida vengono giusto introdotte alcune nozioni. Per approfondimenti si rimanda all'ottima [[https://docs.helix-editor.com/|documentazione]] ufficiale ed è inoltre consigliabile l'avvio di '''Helix''' in modalità [[https://docs.helix-editor.com/usage.html|tutor]], una guida interattiva passo passo particolarmente utile per chi stia utilizzando per la prima volta un editor modale. = Installazione = Installare il pacchetto [[AmministrazioneSistema/InstallareProgrammi/PacchettiSnap|snap]] digitando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudo snap install helix --classic }}} = Avvio e chiusura = Comandi di avvio da '''terminale''': ||<:> '''Comando''' ||<:> '''Descrizione''' || || `hx` || Apre l'editor. || || `helix` || Versione estesa del comando precedente. || || `hx percorso/file` || Apre direttaemtne un file all'interno di Helix.|| {{{#!wiki tip In alternativa per l'apertura dei file è possibile sfruttare il [[#file_picker|file picker]] o il comando [[#open|:open]]. }}} Questi i comandi da '''editor''' di chiusura da digitare in modalità '''normale''': ||<:> '''Comando''' ||<:> '''Descrizione''' || || `:q` || Chiude la sessione di Helix. || || `:q!` || Chiude la sessione senza salvare eventuali modifiche.|| || `:wq` || Salva le modifiche e chiude la sessione. || = Modalità = Trattandosi di un editor modale, per ogni tipologia di azione è prevista una modalità che deve essere attivata. All'apertura di un file '''Helix''' sarà in modalità '''normale''', cioè una modalità che permette di muoversi attraverso il testo e applicare modifiche come spostare o copia/incollare il testo stesso. Per poter inserire caratteri sarà necessario passare alla modalità '''inserimento''' tramite il tasto '''i'''. Con il tasto '''Esc''' si ritornerà sempre alla modalità '''normale'''. Niente esclude che a proprio piacimento l'utente possa impostare scorciatoie da tastiera che permettano di sfruttare azioni non previste nella modalità originaria. Ad esempio è possibile attivare [[#config|scorciatoie da tastiera]] che permettano in modalità '''inserimento''' di spostarsi velocemente fra le righe del testo. {{{#!wiki note Da notare che mouse e touchpad continueranno a funzionare come di consueto e potranno essere utilizzati per selezionare del testo e incollarlo tramite clic centrale o tap a tre dita. }}} Segue un elenco con alcune modalità: ||<:> '''Modalità''' ||<:> '''Tasti''' ||<:> '''Descrizione''' || || '''Normale''' ||<:> '''Esc''' || Modalità predefinita nella quale è possibile scorrere, selezionare, copiare, incollare testo e altro. Si ritorna ad essa premendo Esc. || || '''Inserimento''' ||<:> '''i''' || Inserimento. || || ||<:> '''c''' || Inserimento cancellando il testo selezionato. || || ||<:> '''o''' || Inserimento a capo. || || ||<:> '''I''' || Inserimento a inizio riga. || || ||<:> '''A''' || Inserimento a fine riga. || || '''Selezione''' ||<:> '''v''' || I tasti per muoversi attraverso il testo faranno si che il testo venga selezionato.|| || '''Ricerca''' ||<:> '''s''' || Da attivare dopo aver selezionato del testo. Permette la ricerca di parole/caratteri all'interno del testo selezionato.|| = Prompt dei comandi = Premendo in modalità '''normale''' il tasto relativo ai due punti ''':''' si aprirà in basso il prompt dei comandi e poco più sopra un lungo elenco di comandi disponibili. Tramite il tasto '''tab''' è possibile scorrere e selezionare la funzionalità desiderata. Per non dover premere il tasto '''tab''' infinite volte, sarà sufficiente digitare le prime lettere di un comando per attivare l'auto completamento.<
> L'elenco dei comandi eseguiti in precedenza sarà consultabile premendo il tasto '''freccia su ↑'''. Segue un breve elenco dei principali comandi. <> ||<:> '''Comando''' ||<:> '''In breve''' ||<:> '''Dscrizione''' || || `:quit` || `:q` || Chiudi Elix. || || `:open` || `:o` || Apri file. || || `:new` || `:n` || Apri un nuovo file.|| || `:buffer-next` || `:bn` || Passa al successivo file aperto.|| || `:buffer-close` || `:bc` || Chiudi il file corrente. || || `:buffer-close-others`|| `:bco` || Chiudi gli altri file. || || `:buffer-close-all` || `:bca` || Chiudi tutti i file. || || `:theme` || || Seleziona tema. || || `:config-open` || || Apri il `config.toml` || || `:config-reload`|| || Ricarica la configurazione.|| || `:run-shell-command` || `:sh` || Esegui comandi da shell (potrebbe non funzionare per tutti i comandi) || || `:lsp-stop` || || Ferma il ''language server protocol'' || || `:lsp-restart`|| || Riavvia il ''language server protocol''|| = Temi = È possibile testare una vasta gamma di temi presenti di default in '''Helix'''. 0. In modalità '''normale''' premere ''':theme''' e quindi premere '''spazio''' per aprire la lista dei temi. 0. Scorrere i temi tramite tasto '''tab'''. Immediatamente verranno applicati. 0. Premere '''invio''' per utilizzare uno dei temi. Per rendere un tema predefinito: 0. se assente creare il file `~/.config/helix/config.toml`. 0. Supponendo di voler utilizzare il tema `catppuccin_frappe`, nel file dovrà essere inserita la stringa:{{{ theme = "catppuccin_frappe" }}} 0. Salvare e chiudere il file di configurazione. = Muoversi attraverso il testo = Sebbene in modalità '''normale''' sia possibile spostarsi fra i caratteri con i tasti '''freccia''', il modo principale è attraverso i tasti '''h''', '''j''', '''k''', '''l''', non a caso la posizione base delle dita della mano destra nell'utilizzo corretto della tastiera. ||<:> '''Tasto''' ||<:> '''Equivalente''' ||<:> '''Sposta il cursore''' || ||<:> '''h''' ||<:> '''←''' || a sinistra|| ||<:> '''j''' ||<:> '''↓''' || giù || ||<:> '''k''' ||<:> '''↑''' || su || ||<:> '''l''' ||<:> '''→''' || a destra || È possibile velocizzare gli spostamenti saltando di parola in parola selezionandole: ||<:> '''Tasto''' ||<:> '''Caratteri selezionati''' || ||<:> '''w''' || In avanti fino alla prossima parola esclusa. || ||<:> '''e''' || Avanti fino all'ultimo carattere della parola corrente.|| ||<:> '''b''' || Indietro fino all'inizio della parola. || Attraverso la funzione '''Goto''' il cursore può eseguire i seguenti spostamenti: ||<:> '''Tasti''' ||<:> '''Spostamento cursore''' || ||<:> '''g s''' || Primo carattere riga corrente.|| ||<:> '''g h''' || Inizio riga. || ||<:> '''g l''' || Fine riga. || ||<:> '''g 8 g''' || Riga numero 8. (Sostituire numero riga a proprio piacimento) || ||<:> '''g g''' || Inizio file || ||<:> '''g e''' || Fine file || <> = Copia/incolla = In modalità '''normale''': ||<:> '''Tasti''' ||<:> '''Spostamento cursore''' || ||<:> '''y''' || Copia testo selezionato da incollare sul medesimo file. || ||<:> '''spazio y''' || Copia testo da incollare su altro file. || ||<:> '''p''' || Incolla dopo il cursore il testo copiato sul medesimo file. || ||<:> '''shift p''' || Incolla prima del cursore il testo copiato sul medesimo file. || ||<:> '''spazio p''' || Incolla dopo il cursore il testo copiato da altro file. || ||<:> '''spazio shift p''' || Incolla prima del cursore il testo copiato da altro file.|| {{{#!wiki note In alternativa da mouse e touchpad è possibile incollare il testo selezionato tramite clic centrale o tap a tre dita. }}} = Selezione multi linea = 0. È possibile procedere in due modi: * In modalità '''normale''' ripetendo la combinazione '''shift c''' il cursore verrà moltiplicato su una linea verticale. * Dopo aver selezionato del testo, passando alla modalità di ricerca (tasto '''s''') è possibile digitare la parola da ricercare e quindi premere '''invio'''. {{{#!wiki tip Per selezionare tutto il testo in modalità '''normale''' digitare il tasto percentuale '''%'''. }}} = Annullare/ripetere azione = In modalità '''normale''': || '''u''' || annulla azione || || '''shift u''' || ripete azione || = Elenchi scorciatoie = Come si può intuire una delle maggiori difficoltà nell'utilizzo di un editor di testo di questo genere sta nel memorizzare una lunga lista di scorciatoie da tastiera. Tuttavia '''Helix''' mette a disposizione per molte delle sue funzionalità una comoda finestra con relativo elenco di scorciatoie ogni volta che in modalità '''normale''' la funzionalità viene richiamata attraverso relativo tasto di attivazione. <> == Space - tasto: spazio == In basso a destra si aprirà una finestra con svariate funzionalità. Per citarne alcune: * '''f''' e '''F''' aprono il '''file picker''', comodo e pratico per aprire file; * '''b''' per invocare il '''buffer picker''' ossia tutti i file aperti nell'attuale sessione; {{{#!wiki tip Sia per il '''file''' che per il '''buffer picker''', se il terminale è aperto a schermo intero, oltre all'elenco dei file sarà visibile anche un'anteprima del file selezionato. }}} * '''w''' invoca la lista comandi per suddividere verticalmente od orizzontalmente una finestra; * Vengono elencati i [[#copia_incolla|già citati]] comandi '''y''' e '''p''' per il copia/incolla; * Il comando '''k''' per richiamare la documentazione ufficiale inerente al linguaggio in utilizzo. == Match - tasto: m == Funzionalità utile a gestire parentesi e virgolette per: * inserire parentesi intorno al testo selezionato, ad esempio: '''m s (''' * selezionare il testo interno alle parentesi: '''m i m''' * sostituire parentesi intorno a un testo, ad es. [] con {}: '''m r [ {''' * far saltare il cursore fra la parentesi di apertura e di chiusura: '''m m''' A proposito di parentesi, pur non essendo parte della funzione '''match''', merita una menzione il comando '''alt o'''. Ogni volta che viene premuto espande la selezione del testo fino alle virgolette o parentesi più esterne. <> = File di configurazione = Per adattare '''Helix''' alle proprie esigenze è possibile creare ed editare il file `~/.config/helix/config.toml`, caratterizzato da specifiche sezioni come ad esempio '''[keys.normal]''', '''[keys.insert]''', ecc.. {{{#!wiki tip Il capitolo [[https://docs.helix-editor.com/keymap.html|Keymap]] della documentazione ufficiale mostra i comandi associati alle scorciatoie da tastiera, molto utile per poter associare un comando a una scorciatoia da tastiera che faccia al proprio caso. Il capitolo [[https://docs.helix-editor.com/configuration.html|Configuration]] entra maggiormente nel dettaglio. }}} Le righe che iniziano col carattere '''#''' sono commenti. {{{ # Tema theme = "catppuccin_frappe" [editor] # Sezione generica # Salvataggio automatico quando la finestra dell'editor perde il focus auto-save = true # Visualizza il testo a capo quando la finestra è stretta soft-wrap.enable = true [keys.normal] # Sezione dedicata alla modalità "normale" # Opzione alternativa di salvataggio file talvolta più comodo di :w C-q = ":write" # Bloccare e riattivare il language server protocol A-s = ":lsp-stop" A-g = ":lsp-restart" [keys.insert] # Sezione dedicata alla modalità "inserisci" # Muoversi di parola in parola a destra e sinistra tramite i tasti freccia "C-right" = "move_next_word_start" "C-left" = "move_prev_word_start" # Replicare la funzione goto per portare il cursore a inizio linea, # sul primo carattere di linea e a fine linea "C-a" = "goto_line_start" "C-s" = "goto_first_nonwhitespace" "C-l" = "goto_line_end" # Salvataggio file C-q = ":write" }}} = Ulteriori risorse = * [[https://helix-editor.com/|Sito ufficiale]] * [[https://docs.helix-editor.com/|Documentazione ufficiale]] ---- CategoryProgrammazione CategoryProduttivita