diff --git a/runtime/tutor/Make_all.mak b/runtime/tutor/Make_all.mak index 01fd12ddee..aafc3960ff 100644 --- a/runtime/tutor/Make_all.mak +++ b/runtime/tutor/Make_all.mak @@ -41,7 +41,8 @@ CHAPTER1 = \ tutor1.zh.utf-8 CHAPTER2 = \ - tutor2 + tutor2 \ + tutor2.it CONVERTED = $(CHAPTER1) $(CHAPTER2) diff --git a/runtime/tutor/tutor2.it b/runtime/tutor/tutor2.it new file mode 100644 index 0000000000..1d04b355ef --- /dev/null +++ b/runtime/tutor/tutor2.it @@ -0,0 +1,197 @@ +=============================================================================== += Benvenuto alla G u i d a all'Editor V I M - Versione 1.7 = +=============================================================================== += C A P I T O L O DUE = +=============================================================================== + + Hic Sunt Dracones: Se questa è la prima volta che vi accostate a vim + e preferite iniziare dal capitolo introduttivo, gentilmente immettete + :q e poi iniziate da quello. + + Il tempo necessario per completare questo capitolo è di circa 8-10 + minuti, a seconda del tempo utilizzato per fare delle prove. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lezione 2.1.1: I REGISTRI CON NOME + + + ** Copiare due parole in registri diversi e poi incollarle ** + + 1. Spostate il cursore alla riga qui sotto marcata con ---> + + 2. Andate su una lettera qualsiasi di 'Edward' e battete "ayiw + +MNEMONICO: nel registro(") di nome (a) (y)copia (i)interna (w)parola + + 3. Spostatevi alla parola 'biscotti' (fc o 2fb o $b o /bis) + e battete "byiw + + 4. Andate su una lettera qualsiasi di 'Vince' e battete ciwa + +MNEMONICO: (c)cambia (i)interna (w)parola con di nome (a) + + 5. Andate su una lettera qualsiasi di 'dolci' e battete ciwb + +---> a) Edward sarà d'ora in poi responsabile della razione di biscotti + b) Come compito, Vince sarà il solo a decidere riguardo ai dolci + +NOTA: Anche una parola cancellata può essere inviata ad un registro, p.es., + "sdiw cancellerà (d) la parola sotto il cursore (iw) e la metterà + nel registro (s) +RIFERIMENTI: Registri :h registers + Registri con nome :h quotea + Movimento :h motion.txt /inner + CTRL-R :h insert /CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Lezione 2.1.2: IL REGISTRO DELLE ESPRESSIONI + + + ** Inserire al volo risultati di un calcolo ** + + 1. Spostate il cursore alla riga qui sotto marcata con ---> + + 2. Andate su un punto qualsiasi del numero fornito + + 3. Battete ciw=60*60*24 + + 4. Sulla riga seguente, entrate in modo Insert e aggiungete + la data di oggi con =system('date') + +NOTA: Tutte le chiamate a sistema dipendono dal S.O., p.es., in ambiente + Windows si usa system('date /t') o :r!date /t + +---> Non ricordo il numero esatto di secondi in un giorno, è 84600? + La data di oggi è: + +NOTA: Lo stesso risultato si può ottenere con :pu=system('date') + o, ancora più brevemente, con :r!date + +RIFERIMENTI: Registro espressioni :h quote= + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Lezione 2.1.3: I REGISTRI NUMERATI + + + ** Battere yy e dd per vedere l'effetto sui registri ** + + 1. Spostate il cursore alla riga qui sotto marcata con ---> + + 2. Copiate (yy) la riga stessa e controllate i registri con :reg + + 3. Cancellate la riga che inizia con "0." con "cdd, poi controllate i + registri (Dove vi aspettate sia finita la riga cancellata?) + + 4. Continuate a cancellare ogni riga seguente, controllando ogni volta + con :reg il risultato +NOTA: Dovreste notare che le righe cancellate per prime scendono nella + lista, man mano che vengono aggiunte nuove righe cancellate + 5. Poi incollate (p) i seguenti registri nell'ordine; c, 7, 4, 8, 2.+ + ossia "cp "7p ... + +---> 0. Questo + 9. dondolante + 8. messaggio + 7. è + 6. in + 5. asse + 4. un + 3. guerresco + 2. segreto + 1. tributo + +NOTA: Le cancellazioni di righe intere (dd) sopravvivono nei registri numerati + molto più a lungo delle copie di righe intere (yy), o delle + cancellazioni che implicano movimenti minori + +RIFERIMENTI: Registri numerati :h quote0 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Lezione 2.1.4: IL FASCINO DELLE MARCATURE + + + ** Evitare di contare le righe di codice ** + +NOTA: Un problema frequente quando si scrivono programmi è spostare numerose + righe di codice. Il metodo seguente evita di dover calcolare numeri di + riga con operazioni tipo "a147d o :945,1091d a o, ancor peggio, + usando prima i=1091-945 + + 1. Spostate il cursore alla riga qui sotto marcata con ---> + + 2. Andate alla prima riga della funzione e marcatela con ma + +NOTA: La posizione sulla riga NON è importante! + + 3. Spostatevi a fine riga e da qui alla fine del blocco di codice + con $% + + 4. Cancellate il blocco salvandolo nel registro a con "ad'a + +MNEMONICO: nel registro(") di nome (a) mettere la cancellazione (d) dal + cursore fino alla RIGA che contiene il marcatore (') (a) + + 5. Incollare il blocco the le righe BBB e CCC "ap + +NOTA: Provare più volte quest'operazione, per impratichirsi ma$%"ad'a + +---> AAA + function cresciutaTroppoinFretta() { + if ( condizioneVera ) { + faiQualcosa() + } + // La classificazione della nostra funzione è cambiata + // non ha senso mantenerla nella posizione attuale + + // ...immaginate centinaia di righe di codice + + // Ingenuamente si potrebbe andare dall'inizio alla fine + // e annotare da qualche parte il numero di righe + } + BBB + CCC + +NOTA: marcature e registri non hanno niente in comune, quindi il registro + a è completamente indipendente dalla marcatura a. Questo non vale + per i nomi dei registri e quelli delle macro di Vim. + +RIFERIMENTI: Marcature :h marks + Movimenti marcature :h mark-motions (differenza fra ' e `) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Lezione 2.1 SOMMARIO + + + 1. Per inserire (copiando, cancellando) testo, e per incollarlo (incolla)) + sono disponibili 26 registri (a-z) + 2. Copiare una parola da una posizione qualsiasi al suo interno: yiw + 3. Cambiare una parola da una posizione qualsiasi al suo interno: ciw + 4. Inserire testo direttamente da registri in modo Insert: (C-r)a + + 5. Inserire il risultato di semplici operazioni aritmetiche in modo + Insert: (C-r)=60*60 + 6. Inserire il risultato di chiamate a sistema in modo Insert: + (C-r)=system('ls -1') + + 7. Controllare contenuto registri con :reg + 8. Vedere dove vanno a finire le cancellazioni di intere righe: dd + nei registri numerati, ossia discendendo dal registro 1 al 9. + Osservare che le righe intere cancellate sono disponibili nei registri + numerati più a lungo di qualsiasi altra modifica + 9. Vedere la destinazione finale delle operazioni di copia nei registri + numerati e controllare quanto si può aspettare che durino + + 10. Inserire marcature in modo Normale m[a-zA-Z0-9] + 11. Spostarsi a una riga marcata con il comando ' + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Qui finisce il capitolo due della guida Vim. Ci sono lavori in corso. + + Questo capitolo è stato scritto da Paul D. Parker + e tradotto da Antonio Colombo +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor2.it.utf-8 b/runtime/tutor/tutor2.it.utf-8 new file mode 100644 index 0000000000..a337acd1c7 --- /dev/null +++ b/runtime/tutor/tutor2.it.utf-8 @@ -0,0 +1,197 @@ +=============================================================================== += Benvenuto alla G u i d a all'Editor V I M - Versione 1.7 = +=============================================================================== += C A P I T O L O DUE = +=============================================================================== + + Hic Sunt Dracones: Se questa è la prima volta che vi accostate a vim + e preferite iniziare dal capitolo introduttivo, gentilmente immettete + :q e poi iniziate da quello. + + Il tempo necessario per completare questo capitolo è di circa 8-10 + minuti, a seconda del tempo utilizzato per fare delle prove. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lezione 2.1.1: I REGISTRI CON NOME + + + ** Copiare due parole in registri diversi e poi incollarle ** + + 1. Spostate il cursore alla riga qui sotto marcata con ---> + + 2. Andate su una lettera qualsiasi di 'Edward' e battete "ayiw + +MNEMONICO: nel registro(") di nome (a) (y)copia (i)interna (w)parola + + 3. Spostatevi alla parola 'biscotti' (fc o 2fb o $b o /bis) + e battete "byiw + + 4. Andate su una lettera qualsiasi di 'Vince' e battete ciwa + +MNEMONICO: (c)cambia (i)interna (w)parola con di nome (a) + + 5. Andate su una lettera qualsiasi di 'dolci' e battete ciwb + +---> a) Edward sarà d'ora in poi responsabile della razione di biscotti + b) Come compito, Vince sarà il solo a decidere riguardo ai dolci + +NOTA: Anche una parola cancellata può essere inviata ad un registro, p.es., + "sdiw cancellerà (d) la parola sotto il cursore (iw) e la metterà + nel registro (s) +RIFERIMENTI: Registri :h registers + Registri con nome :h quotea + Movimento :h motion.txt /inner + CTRL-R :h insert /CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Lezione 2.1.2: IL REGISTRO DELLE ESPRESSIONI + + + ** Inserire al volo risultati di un calcolo ** + + 1. Spostate il cursore alla riga qui sotto marcata con ---> + + 2. Andate su un punto qualsiasi del numero fornito + + 3. Battete ciw=60*60*24 + + 4. Sulla riga seguente, entrate in modo Insert e aggiungete + la data di oggi con =system('date') + +NOTA: Tutte le chiamate a sistema dipendono dal S.O., p.es., in ambiente + Windows si usa system('date /t') o :r!date /t + +---> Non ricordo il numero esatto di secondi in un giorno, è 84600? + La data di oggi è: + +NOTA: Lo stesso risultato si può ottenere con :pu=system('date') + o, ancora più brevemente, con :r!date + +RIFERIMENTI: Registro espressioni :h quote= + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Lezione 2.1.3: I REGISTRI NUMERATI + + + ** Battere yy e dd per vedere l'effetto sui registri ** + + 1. Spostate il cursore alla riga qui sotto marcata con ---> + + 2. Copiate (yy) la riga stessa e controllate i registri con :reg + + 3. Cancellate la riga che inizia con "0." con "cdd, poi controllate i + registri (Dove vi aspettate sia finita la riga cancellata?) + + 4. Continuate a cancellare ogni riga seguente, controllando ogni volta + con :reg il risultato +NOTA: Dovreste notare che le righe cancellate per prime scendono nella + lista, man mano che vengono aggiunte nuove righe cancellate + 5. Poi incollate (p) i seguenti registri nell'ordine; c, 7, 4, 8, 2.+ + ossia "cp "7p ... + +---> 0. Questo + 9. dondolante + 8. messaggio + 7. è + 6. in + 5. asse + 4. un + 3. guerresco + 2. segreto + 1. tributo + +NOTA: Le cancellazioni di righe intere (dd) sopravvivono nei registri numerati + molto più a lungo delle copie di righe intere (yy), o delle + cancellazioni che implicano movimenti minori + +RIFERIMENTI: Registri numerati :h quote0 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Lezione 2.1.4: IL FASCINO DELLE MARCATURE + + + ** Evitare di contare le righe di codice ** + +NOTA: Un problema frequente quando si scrivono programmi è spostare numerose + righe di codice. Il metodo seguente evita di dover calcolare numeri di + riga con operazioni tipo "a147d o :945,1091d a o, ancor peggio, + usando prima i=1091-945 + + 1. Spostate il cursore alla riga qui sotto marcata con ---> + + 2. Andate alla prima riga della funzione e marcatela con ma + +NOTA: La posizione sulla riga NON è importante! + + 3. Spostatevi a fine riga e da qui alla fine del blocco di codice + con $% + + 4. Cancellate il blocco salvandolo nel registro a con "ad'a + +MNEMONICO: nel registro(") di nome (a) mettere la cancellazione (d) dal + cursore fino alla RIGA che contiene il marcatore (') (a) + + 5. Incollare il blocco the le righe BBB e CCC "ap + +NOTA: Provare più volte quest'operazione, per impratichirsi ma$%"ad'a + +---> AAA + function cresciutaTroppoinFretta() { + if ( condizioneVera ) { + faiQualcosa() + } + // La classificazione della nostra funzione è cambiata + // non ha senso mantenerla nella posizione attuale + + // ...immaginate centinaia di righe di codice + + // Ingenuamente si potrebbe andare dall'inizio alla fine + // e annotare da qualche parte il numero di righe + } + BBB + CCC + +NOTA: marcature e registri non hanno niente in comune, quindi il registro + a è completamente indipendente dalla marcatura a. Questo non vale + per i nomi dei registri e quelli delle macro di Vim. + +RIFERIMENTI: Marcature :h marks + Movimenti marcature :h mark-motions (differenza fra ' e `) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Lezione 2.1 SOMMARIO + + + 1. Per inserire (copiando, cancellando) testo, e per incollarlo (incolla)) + sono disponibili 26 registri (a-z) + 2. Copiare una parola da una posizione qualsiasi al suo interno: yiw + 3. Cambiare una parola da una posizione qualsiasi al suo interno: ciw + 4. Inserire testo direttamente da registri in modo Insert: (C-r)a + + 5. Inserire il risultato di semplici operazioni aritmetiche in modo + Insert: (C-r)=60*60 + 6. Inserire il risultato di chiamate a sistema in modo Insert: + (C-r)=system('ls -1') + + 7. Controllare contenuto registri con :reg + 8. Vedere dove vanno a finire le cancellazioni di intere righe: dd + nei registri numerati, ossia discendendo dal registro 1 al 9. + Osservare che le righe intere cancellate sono disponibili nei registri + numerati più a lungo di qualsiasi altra modifica + 9. Vedere la destinazione finale delle operazioni di copia nei registri + numerati e controllare quanto si può aspettare che durino + + 10. Inserire marcature in modo Normale m[a-zA-Z0-9] + 11. Spostarsi a una riga marcata con il comando ' + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Qui finisce il capitolo due della guida Vim. Ci sono lavori in corso. + + Questo capitolo è stato scritto da Paul D. Parker + e tradotto da Antonio Colombo +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~