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
=============================================================================== = B e n v i d o a o t u t o r d o V I M - Versión 1.7 = =============================================================================== = C A P Í T U L O D O U S = =============================================================================== Hic Sunt Dracones: se este é o súa primeira exposición ao vim, e prefire iniciarse no capítulo introducturio, pode saír premendo :q . O tempo aproximado requerido para completar este capítulo é de 8-10 minutos, dependendo de canto tempo use na experimentación. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lección 2.1.1: OS REXISTROS CON NOME ** Almacene dúas palabras copiadas de xeito consecutivo, e logo pégueas. ** 1. Mova o cursor ata a liña inferior sinalada con --->. 2. Navegue ata calquera carácter da palabra 'Xoán' e escriba "ayiw . NEMÓNICO: dentro do rexistro(") chamado (a) pega (y)ank o interior (i)nner da palabra (w)ord 3. Navegue cara a adiante ata a palabra 'galetas' ( fl ou 4fe ou $b ou /gal ) e teclee "byiw . 4. Navegue ata calquera carácter da palabra 'Uxío' e teclee ciw a NEMÓNICO: cambia (c)hange o interior (i)nner da palabra (w)ord co chamado (a) 5. Navegue ata calquera punto da palabra 'tartas' e teclee ciwb ---> a) De eiquí en adiante, Xoán ficará encarregado das racións de galetas. b) Xa que logo, Uxío somentes terá poderes no que respecta ás tartas. NOTA: O borrado tamén funciona nos rexistros, é dicir: "sdiw borrará a palabra baixo o cursor e ficaráa no rexistro s. REFERENCIAS: Rexistros :h registers Rexistros con come: :h quotea Movemento :h motion.txt /inner CTRL-R :h insert /CTRL-R ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lección 2.1.2: O REXISTRO DE EXPRESIÓN ** Insira o resultado dos cáculos sobre a marcha. ** 1. Mova o cursor ata a liña sinalada con --->. 2. Navegue ata calquera carácter do número que aparece na liña. 3. Teclee ciw=60*60*24 . 4. Na seguinte liña, entre no modo Inserir e engada a data de hoxe con: =system('date') NOTA: Tódalas chamadas a sistema son dependentes do sistema operativo. Por exemplo, en Windows pode usar: system('date /t') ou :r!date /t ---> Esquecín o número exacto de segundos que ten un día; son 84600? ---> A data de hoxe é: NOTA: O mesmo pódese obter con :pu=system('date') ou, premendo menos teclas, con :r!date . REFERENCIAS: Rexistro de experesión :h quote= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lección 2.1.3: OS REXISTROS NUMERADOS ** Prema yy e mais dd para ve-lo seu efecto nos rexistros. ** 1. Mova o cursor ata a liña sinalada con --->. 2. Copie a liña 0, e logo inspeccione os rexitros con :reg . 3. Borre a liña 0 con "cdd, e logo inspeccione os rexistros. (Onde espera que estea o contido da liña 0?) 4. Continúe borrando cada liña sucesivamente, inspeccionando os rexistros sobre a marcha. NOTA: Debería decatarse de que as liñas borradas máis antigas móvense cara a embaixo na lista, consonte se engaden as novas liñas borradas. 5. Agora, poña (p) os seguintes rexistros en orde: c, 7, 4, 8, 2. Por exemplo, usando "7p . ---> 0. Esta 9. cambalear 8. mensaxe 7. é 6. en 5. eixo 4. unha 3. guerra 2. secreta. 1. tributo NOTA: O borrado de liñas enteiras (dd) permanece máis tempo nos rexistros numerados có copiado de liñas enteiras ou de texto máis pequeno. REFERENCIAS: Rexistros numerados :h quote00 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lección 2.1.4: A BELEZA DAS MARCAS ** Evitando conta-las liñas de código ** NOTA: Un problema frecuente que acontece cando se programa é o desprazamento entre pedazos de código. A seguinte técnica axuda a evita-lo cálculo de números de liña asociados a operacions coma "a147d ou :945,1091d a ou, incluso peor, usando primeiro =1091-945 . 1. Mova o cursor ata a liña sinalada con --->. 2. Vaia á primeira liña da función e márquea con ma . NOTA: A posición exacta na liña NON é importante! 3. Navegue ata a fin da liña, e deseguido ata a fin do bloque de código con $% . 4. Borre o bloque e póñao no rexistro 'a' con "ad'a . NEMÓNICO: Dentro do rexistro(") con nome de rexistro (a) pon o borrado (d)eletion dende o cursor ata a liña que contén a marca(') de nome de marca (a) 5. Pegue o bloque entre BBB e CCC con "ap . NOTA: Practique esta operación múltiples veces, ata chegar a facelo fluidamente: ma$%"ad'a ---> AAA function itGotRealBigRealFast() { if ( somethingIsTrue ) { doIt() } // the taxonomy of our function has changed and it // no longer makes alphabetical sense in its current position // imagine hundreds of lines of code // naively you could navigate to the start and end and record or // remember each line number } BBB CCC NOTA: As marcas e mailos rexistros non comparten un espazo común de nomes, de xeito que un rexistro 'a' é completamente independente dunha marca 'a'. En troques, isto non acontece entre os rexistros e mailas macros. REFERENCIAS: Marcas :h marks Movemento de marcas :h mark-motions (diferencia entre ' e `) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lección 2.1 RESUMO 1. Gardar texto (por medio de copiar ou borrar), e recuperalo (pegar) dende un total de 26 rexistros (a-z). 2. Pegar unha palbra enteira dende calquer sitio dentro dunha palara: yiw 3. Cambiar unha palabra enteira dende calquer punto de palabra: ciw 4. Inserir texto directamente dende os rexistros en modo Inserir: (C-r)a 5. Inseri-lo resultado de operacións aritméticas simples no modo Inserir: (C-r)=60*60 6. Inseri-los resultados de chamadas ao sistema no modo Inserir: (C-r)=system('ls -1') 7. Inspecciona-los rexistros con :reg . 8. Aprende-lo destino final do borrado de liñas enteiras (dd) nos rexistros numerados, é dicir, descendendo dende o reistro 1 ao 9. Decatarse de que o borrado de liñas enteiras presérvase nos rexistros numerados máis tempo que calquera outra operación. 9. Aprende-lo destino final de tódalas copias feitas nos rexistros numerados e cómo son de efímeros. 10. Situar marcas dende o modo de comandos m[a-zA-Z0-9] . 11. Moverse a una liña cunha marca con ' . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Isto conclúe o capítulo dows do Vim Tutor. Este é traballo en progreso. Este capítulo foi escrito por Paul D. Parker. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Traducido do inglés ao galego por Fernando Vilariño. Correo electrónico: fernando@cvc.uab.es. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~