1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
=============================================================================== = 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~