1 00:00:00,000 --> 00:00:02,590 >> [Seminar Vim] 2 00:00:02,590 --> 00:00:04,210 [Brandon Liu] [Harvard University] 3 00:00:04,210 --> 00:00:07,500 [Dit is CS50.] [CS50.TV] 4 00:00:07,500 --> 00:00:09,880 >> Vandaag gaat een inleiding tot Vim zijn. 5 00:00:09,880 --> 00:00:12,310 Hoeveel van jullie hebben gehoord van Vim? 6 00:00:12,310 --> 00:00:15,620 Wat heb je gehoord over Vim? 7 00:00:15,620 --> 00:00:17,590 [Student] Het lost al uw problemen. 8 00:00:17,590 --> 00:00:19,450 [Brandon L.] Het lost al uw problemen. 9 00:00:19,450 --> 00:00:23,840 Iets anders dat jullie hebben gehoord over Vim? Elke indrukken? 10 00:00:23,840 --> 00:00:27,990 [Student] Bijna iedereen die ik heb gesproken graag Vim gebruiken. 11 00:00:27,990 --> 00:00:29,960 Oh, zoete. 12 00:00:29,960 --> 00:00:31,090 [Student] Veel mensen die ik ken willen Vim gebruiken. 13 00:00:31,090 --> 00:00:35,050 Oke, dat is goed, want een heleboel mensen in CS51 14 00:00:35,050 --> 00:00:38,000 beginnen te pikken Emacs omdat Emacs heeft iets betere ondersteuning 15 00:00:38,000 --> 00:00:40,100 voor de taal die je gaat gebruiken in CS51, 16 00:00:40,100 --> 00:00:42,770 en ik ben bang dat er niet genoeg mensen op Harvard gebruiken Vim, 17 00:00:42,770 --> 00:00:46,190 dus ik echt proberen te doen een goede baan van het stimuleren van Vim gebruik. 18 00:00:46,190 --> 00:00:51,110 >> Maar hier is een klassiek xkcd comic die jullie interessant vindt. 19 00:00:51,110 --> 00:00:53,800 Hebben jullie gebruikt Nano voordat op alle? 20 00:00:53,800 --> 00:00:57,380 Deze strip zegt Nano? Echte programmeurs gebruiken Emacs. 21 00:00:57,380 --> 00:00:59,040 Hey, echte programmeurs gebruiken Vim. 22 00:00:59,040 --> 00:01:03,130 Nee, echte programmeurs Ed die dit-je nooit willen Ed gebruiken. 23 00:01:03,130 --> 00:01:05,990 Het is echt, echt oud en echt slecht, en echte programmeurs gebruiken 24 00:01:05,990 --> 00:01:08,440 een gemagnetiseerde naald en een vaste hand. 25 00:01:08,440 --> 00:01:16,010 En je kunt de rest te lezen, maar het is vrij amusant. 26 00:01:16,010 --> 00:01:18,320 En het grappige is aan het eind. 27 00:01:18,320 --> 00:01:20,310 Ze zeggen: "Oh, ja, natuurlijk, er is een Emacs commando om dat te doen." 28 00:01:20,310 --> 00:01:25,050 Goede oude Cx Mc M-vlinder, dat is een soort van een jab bij Emacs 29 00:01:25,050 --> 00:01:28,520 omdat Emacs is van oudsher bekend een beetje opgeblazen te zijn 30 00:01:28,520 --> 00:01:32,310 en opdrachten hebben voor bijna alles, dus dat is een soort van grap voor Emacs. 31 00:01:32,310 --> 00:01:35,320 >> Wat is Vim? Vim is teksteditor een geavanceerde programmeur. 32 00:01:35,320 --> 00:01:40,040 Ik wil heel graag het onderscheid tussen tekst editor 33 00:01:40,040 --> 00:01:42,000 en iets als een document processor. 34 00:01:42,000 --> 00:01:44,340 Microsoft Word staat bekend als een document processor. 35 00:01:44,340 --> 00:01:49,090 U kunt de marges instellen, maak dingen vet, onderstrepen dingen, 36 00:01:49,090 --> 00:01:51,480 doorhalen dingen, van grootte veranderen en wat al niet lettertype. 37 00:01:51,480 --> 00:01:54,380 Een tekstverwerker doet niets meer dan alleen tekst bewerken. 38 00:01:54,380 --> 00:01:56,020 Letterlijk je hoeft alleen tekens. 39 00:01:56,020 --> 00:02:01,650 Er is geen soort van styling, maten, lettertypen, kleuren, of iets dergelijks. 40 00:02:01,650 --> 00:02:06,360 Alles wat je doet is het bewerken van tekst en Vim is speciaal gemaakt voor de programmering. 41 00:02:06,360 --> 00:02:09,240 Het heeft veel functies ingebouwd voor de programmering. 42 00:02:09,240 --> 00:02:11,360 Het is uitdrukkelijk ontworpen voor een efficiënte tekstbewerking. 43 00:02:11,360 --> 00:02:15,190 >> In het algemeen, Vim is bekend dat het in principe de snelste tekst editor 44 00:02:15,190 --> 00:02:19,110 u eventueel kunt gebruiken in vergelijking met een andere tekst editor die het mogelijk is. 45 00:02:19,110 --> 00:02:22,480 Veel van de IDE-achtige functies zijn niet gebouwd direct in Vim, 46 00:02:22,480 --> 00:02:26,850 dus als je een IDE hebt gebruikt en je bent gewend om dingen zoals het compileren en automatisch worden uitgevoerd 47 00:02:26,850 --> 00:02:30,880 of debuggen wat er in je IDE of een hele reeks van verschillende dingen 48 00:02:30,880 --> 00:02:32,290 Vim komt niet met die van nature, 49 00:02:32,290 --> 00:02:36,330 maar er is een hele reeks van plugins die u kunt gebruiken om dat soort functionaliteit toe te voegen aan Vim. 50 00:02:36,330 --> 00:02:40,890 Vim op zichzelf is gericht op het bewerken van tekst en doet tekstbewerking echt, echt goed. 51 00:02:40,890 --> 00:02:43,340 En tenslotte, het is echt aanpasbaar en uitbreidbaar, 52 00:02:43,340 --> 00:02:48,740 en eigenlijk Vim is rond, of Vi, die Vim is gebouwd op, 53 00:02:48,740 --> 00:02:53,790 is al meer dan 40 jaar, en het is een zeer, zeer diep programma, 54 00:02:53,790 --> 00:02:58,850 en de mensen zullen het gebruiken voor een leven en nooit echt het programma onder de knie tot zijn recht, 55 00:02:58,850 --> 00:03:01,530 en je zal altijd blijven leren in je leven door de jaren heen, 56 00:03:01,530 --> 00:03:03,390 altijd steeds beter en beter. 57 00:03:03,390 --> 00:03:07,480 >> Er is eigenlijk geen einde aan wat je kunt leren en hoeveel je kunt verbeteren met Vim, 58 00:03:07,480 --> 00:03:09,300 dat is echt spannend. 59 00:03:09,300 --> 00:03:12,730 Je wilt niet om het te bekijken als iets eng, omdat je heel erg bedreven kan worden 60 00:03:12,730 --> 00:03:16,650 in Vim in slechts een paar weken, maar het is als een soort continue- 61 00:03:16,650 --> 00:03:18,870 u kunt altijd meer te leren en meer te leren en doen dingen beter en beter, 62 00:03:18,870 --> 00:03:20,880 dat is een soort van spannend voor mij. 63 00:03:20,880 --> 00:03:23,810 Dit is een voorbeeld van wat Vim eruit ziet. 64 00:03:23,810 --> 00:03:27,630 Dit is niet van mij. Zie je een aantal live demonstraties op dit moment. 65 00:03:27,630 --> 00:03:29,350 Dit is een voorbeeld van wat Vim eruit zou kunnen zien. 66 00:03:29,350 --> 00:03:33,590 >> Wat we vandaag gaan doen is gaan we om te beginnen met 67 00:03:33,590 --> 00:03:35,260  snel een showcase van wat Vim kan doen. 68 00:03:35,260 --> 00:03:39,040 Ik ga een paar trucjes en wat al niet doen voor jullie 69 00:03:39,040 --> 00:03:43,020 zodat u kunt zien waarom ik Vim zo veel en waarom mensen zoals Vim zo veel, 70 00:03:43,020 --> 00:03:46,470 en dan van daaruit gaan we in een zachte introductie. 71 00:03:46,470 --> 00:03:49,530 Eigenlijk, zal het een beetje snel, een inleiding tot Vim. 72 00:03:49,530 --> 00:03:53,410 Ik vraag jullie om een ​​tekstbestand te downloaden en mee te volgen met me als je kan. 73 00:03:53,410 --> 00:03:58,080 Dit is Vim, en hier ik gebruik MacVim, 74 00:03:58,080 --> 00:04:00,520 dus als jullie nog Macs wilt u misschien overwegen gebruik te maken MacVim 75 00:04:00,520 --> 00:04:04,210 want het is een grafische versie van Vim, hoewel de reguliere Vim, 76 00:04:04,210 --> 00:04:06,210 wat er in je command line, werkt prima. 77 00:04:06,210 --> 00:04:09,890 Ik ga u een paar willekeurige tips en trucs 78 00:04:09,890 --> 00:04:15,330 die u kunt gebruiken in Vim om te laten zien waarom het zo cool. 79 00:04:15,330 --> 00:04:18,940 >> Slechts een paar willekeurige dingen ga ik door te gaan. 80 00:04:18,940 --> 00:04:21,700 Het eerste ding is tekstobjecten, en er zijn een paar commando's rond tekst objecten, 81 00:04:21,700 --> 00:04:25,010 en ik eigenlijk leren welke tekst objecten zijn in meer detail later in het seminarie, 82 00:04:25,010 --> 00:04:30,050 maar bijvoorbeeld, laten we zeggen dat ik verwoord mijn naam verkeerd, 83 00:04:30,050 --> 00:04:32,380 Barndon Liu, en ik wil om het te veranderen. 84 00:04:32,380 --> 00:04:36,140 Alles wat ik moet doen is ergens in mijn naam en het type in de opdracht krijg mijn cursor 85 00:04:36,140 --> 00:04:38,900 CIW, en het zal mijn volledige naam te wissen, zet me in insert-modus, 86 00:04:38,900 --> 00:04:41,050 en ik kan typen op mijn naam en op te lossen. 87 00:04:41,050 --> 00:04:45,550 Evenzo, als ik wil iets in citaten te veranderen is er ook een commando voor. 88 00:04:45,550 --> 00:04:47,330 Ik kan dingen binnen citaten verwijderen. 89 00:04:47,330 --> 00:04:50,260 Niet meer hoeft te dubbelklikken, beweeg je hand over de muis, 90 00:04:50,260 --> 00:04:52,230 dubbelklikken en typ iets opnieuw 91 00:04:52,230 --> 00:05:02,000 U kunt alles doen, van het toetsenbord, wat het ook is. 92 00:05:02,000 --> 00:05:06,430 Of als alternatief, laten we zeggen dat ik dit beeld-tag in deze anchor tag. 93 00:05:06,430 --> 00:05:08,160 >> Hebben jullie bedekt HTML in de klas toch? 94 00:05:08,160 --> 00:05:10,570 Ja, dus misschien wil ik deze tag verwijderen, 95 00:05:10,570 --> 00:05:13,080 die normaal wat je hoeft te doen is moet je je muis gebruiken 96 00:05:13,080 --> 00:05:16,040 en zorgvuldig benadrukken precies wat u wilt verwijderen en verwijder deze. 97 00:05:16,040 --> 00:05:21,320 Maar in Vim dat is gewoon DIT, en kunt u deze verwijderen echt snel uitverkocht, 98 00:05:21,320 --> 00:05:28,020 en ik zal u uitleggen wat al die commando's betekenen en hoe je ze kunt gebruiken in een tweede. 99 00:05:28,020 --> 00:05:30,320 Een ander voorbeeld, Ik heb wat code hier, 100 00:05:30,320 --> 00:05:33,640 en laten we zeggen dat ik de code wilt laten inspringen, maar ik wil de code inspringen 101 00:05:33,640 --> 00:05:39,940 net binnen de haakjes, en ik kan ook de code inspringen met behulp van 3-opdrachten 102 00:05:39,940 --> 00:05:45,360 gebruik in principe> iB. 103 00:05:45,360 --> 00:05:49,960 Een ander ding dat is echt cool over Vim is een zogenaamde visuele blok bewerken. 104 00:05:49,960 --> 00:05:52,380 Ik weet niet of jullie ooit wilde markeren 105 00:05:52,380 --> 00:05:55,690 een rechthoekig blok van tekst in uw code soms 106 00:05:55,690 --> 00:06:00,570 in plaats van het hebben van deze vreemde soort lijn ding dat alle verschillende lijnen overspant doen. 107 00:06:00,570 --> 00:06:02,450 Bijvoorbeeld, in Vim kun je dat doen. 108 00:06:02,450 --> 00:06:05,260 Ik kan rechthoeken te markeren als dit, dat is wel cool, 109 00:06:05,260 --> 00:06:07,950 maar verder kan ik bewerken met die functionaliteit. 110 00:06:07,950 --> 00:06:12,050 Bijvoorbeeld, als ik wil een soort van prefix geven aan al onze namen 111 00:06:12,050 --> 00:06:18,100 Ik kan een blok te markeren en vervolgens iets toevoegen. 112 00:06:18,100 --> 00:06:22,060 >> Op dezelfde manier kan ik ook wijzen op dit blok en kies om het te verwijderen, 113 00:06:22,060 --> 00:06:26,300 of misschien zal ik dit blok te markeren en verander het naar D, omdat we alle artsen. 114 00:06:26,300 --> 00:06:29,430 Wat het ook is, kan je al die verschillende dingen te doen. 115 00:06:29,430 --> 00:06:31,270 Tenslotte vouwen is echt cool. 116 00:06:31,270 --> 00:06:33,840 Veel IDE's hebben dit waar u verschillende functies kunt vouwen uit het zicht 117 00:06:33,840 --> 00:06:35,590 in het geval u niet wilt zien. 118 00:06:35,590 --> 00:06:40,120 Stel dat ik deze bos van tekst hier, en ik wil eigenlijk niet om het te zien. 119 00:06:40,120 --> 00:06:42,710 Ik wil het uit het zicht te houden omdat ik het bewerken van iets anders in het bestand. 120 00:06:42,710 --> 00:06:50,580 Ik kan het opvouwen zodat het allemaal ingestort, 121 00:06:50,580 --> 00:06:52,150 en op die manier het is uit het zicht, 122 00:06:52,150 --> 00:06:54,310 en ik kan andere dingen die op de pagina bewerken, en dit is echt geweldig. 123 00:06:54,310 --> 00:06:57,550 U kunt vouwen functies en wat al niet of fold-up lessen als je het programmeren 124 00:06:57,550 --> 00:06:59,380 alleen maar om te voorkomen dat ze uit het zicht wanneer je ze niet bewerken, 125 00:06:59,380 --> 00:07:04,330 en later als je ze wilt zien je ze kan openen. 126 00:07:04,330 --> 00:07:09,260 En je kunt zien is alles gewoon geopend. 127 00:07:09,260 --> 00:07:11,220 Tabs, buffers, en ramen. 128 00:07:11,220 --> 00:07:13,260 Vim is vrij koel in dat 129 00:07:13,260 --> 00:07:16,280 normaal in een veel tekst editors kunt u slechts een bestand tegelijk bewerken, 130 00:07:16,280 --> 00:07:18,960 zoals in Nano, of misschien als je gebruik Kladblok of Gedit. 131 00:07:18,960 --> 00:07:21,470 Ik heb eigenlijk nooit gebruikt Gedit heel veel, maar in ieder geval in Notepad + + 132 00:07:21,470 --> 00:07:26,700 kunt u tabs, maar Vim heeft het concept van de tabbladen, buffers en ramen. 133 00:07:26,700 --> 00:07:28,760 Bijvoorbeeld, kunt u het openen van een aantal nieuwe tabbladen. 134 00:07:28,760 --> 00:07:31,790 >> U kunt hier zien op de top heb ik nu een heleboel tabbladen, 135 00:07:31,790 --> 00:07:34,350 en ik kan ze te sluiten. 136 00:07:34,350 --> 00:07:37,550 Verder is er dit concept van buffers, 137 00:07:37,550 --> 00:07:40,110 dat is het idee dat als je eenmaal een bestand hebt geopend 138 00:07:40,110 --> 00:07:43,910 het levend blijft in de buffer, en als je wilt echt snel naar dat bestand 139 00:07:43,910 --> 00:07:46,290 kan je echt snel naar binnen de buffer als goed, 140 00:07:46,290 --> 00:07:51,890 en bovendien, binnen een deelvenster kunt u ook uw raam opgesplitst in meerdere vensters. 141 00:07:51,890 --> 00:07:55,890 Bijvoorbeeld, als ik dit venster wilt splitsen in meerdere vensters 142 00:07:55,890 --> 00:08:00,080 U kunt hier zien dat ik dezelfde code twee keer kan hebben, 143 00:08:00,080 --> 00:08:03,800 en ik kan meer en meer en meer verdeeld, en op dit moment ziet het er niet zo goed 144 00:08:03,800 --> 00:08:07,340 want standaard Ik heb de standaard window grootte zijn soort grote 145 00:08:07,340 --> 00:08:09,490 dus alle anderen worden platgedrukt uit, 146 00:08:09,490 --> 00:08:12,000 maar normaal gesproken als ik op mijn computer en niet op deze projector 147 00:08:12,000 --> 00:08:15,920 Ik kan verschillende vensters te openen op hetzelfde moment, dat is erg leuk voor 148 00:08:15,920 --> 00:08:21,450 bewerken van meerdere bestanden tegelijk. 149 00:08:21,450 --> 00:08:23,800 U kunt ook dingen zoals selecteren en te vervangen, 150 00:08:23,800 --> 00:08:27,900 en we eigenlijk dekken die aan het seminar, 151 00:08:27,900 --> 00:08:29,250 dus ik zal overslaan voor nu. 152 00:08:29,250 --> 00:08:32,039 U kunt ook interactie met de opdrachtregel op allerlei verschillende manieren. 153 00:08:32,039 --> 00:08:36,380 Bijvoorbeeld, als ik een soort van lijst hier en ik wil sorteren- 154 00:08:36,380 --> 00:08:43,039 Ik weet het niet, voegen we een ander fruit, druif, 155 00:08:43,039 --> 00:08:45,450 en ik kan dit benadrukken met behulp van de highlight-functie 156 00:08:45,450 --> 00:08:48,980 en bel sorteren, en het zal het automatisch sorteren voor mij. 157 00:08:48,980 --> 00:08:52,150 >> Ook als je gaat om te worden bewerkt CSS, die ik neem aan dat je waarschijnlijk gaat doen 158 00:08:52,150 --> 00:08:54,190 voor je afstudeerproject, de meeste mensen doen, 159 00:08:54,190 --> 00:09:00,200 en misschien wilt u uw CSS georganiseerd door ze te sorteren in alfabetische volgorde te houden. 160 00:09:00,200 --> 00:09:04,410 U kunt ze ook benadrukken en te roepen sorteren, en het zal te sorteren voor u. 161 00:09:04,410 --> 00:09:07,380 Dit zijn enkele van de voorbeelden van de dingen die Vim kan doen, 162 00:09:07,380 --> 00:09:10,760 en je zult merken dat het belangrijkste ding dat ik echt wil uw aandacht vestigen op 163 00:09:10,760 --> 00:09:14,740 is dat ik doe alles wat via het toetsenbord, 164 00:09:14,740 --> 00:09:18,020 en als je in staat zijn om te zien waar mijn handen worden geplaatst 165 00:09:18,020 --> 00:09:21,210 je zult ook zien dat mijn handen nooit echt te verplaatsen van de startrij. 166 00:09:21,210 --> 00:09:24,790 Normaal gesproken als je het bewerken van tekst heb je meestal een muis gebruiken 167 00:09:24,790 --> 00:09:28,030 en klik rond en wat al niet, en dat soort beweging sleept je naar beneden 168 00:09:28,030 --> 00:09:32,280 en verspilt tijd, of misschien je beweegt tussen de startrij en de pijltjestoetsen, 169 00:09:32,280 --> 00:09:35,620 en dus je beweegt heen en weer zo, dat is een beetje omslachtig 170 00:09:35,620 --> 00:09:38,750 maar ook vertraagt ​​je naar beneden, en het ding is als je eenmaal echt goed in Vim 171 00:09:38,750 --> 00:09:42,350 alles wat je wilt doen is gedaan zonder dat u uw handen bewegen 172 00:09:42,350 --> 00:09:50,730 van het huis rij, dat is geweldig. 173 00:09:50,730 --> 00:09:54,870 Wacht, ik ga het openen van deze applicatie. Daar gaan we. 174 00:09:54,870 --> 00:09:58,320 >> Nu kun je zien welke commando's lopen door de lagere rechter venster. 175 00:09:58,320 --> 00:10:03,190 Alle functies die ik net liet zien zijn dingen die worden standaard meegeleverd met Vim, 176 00:10:03,190 --> 00:10:06,820 maar er is ook een groot aantal plugins die u ook kunt gebruiken 177 00:10:06,820 --> 00:10:08,390 het verbeteren van uw Vim ervaring. 178 00:10:08,390 --> 00:10:10,540 Als u de configuratie bestanden die ik opgenomen gedownload, 179 00:10:10,540 --> 00:10:13,150 en er zijn instructies over hoe ze te installeren in de PowerPoint 180 00:10:13,150 --> 00:10:17,840 en ook in de e-mail stuurde ik uit, ik heb ongeveer 40 plugins geïnstalleerd 181 00:10:17,840 --> 00:10:20,490 of misschien 30 plugins, en stuk voor stuk 182 00:10:20,490 --> 00:10:24,000 brengt extra functionaliteit aan Vim dat uw Vim-ervaring verbetert. 183 00:10:24,000 --> 00:10:26,960 Bijvoorbeeld, een van mijn favorieten is iets genaamd surround.vim, 184 00:10:26,960 --> 00:10:29,760 en het maakt in principe om te werken met de omliggende 185 00:10:29,760 --> 00:10:32,200 of veel gemakkelijker afbakenen karakters. 186 00:10:32,200 --> 00:10:35,960 >> Een voorbeeld, ik weet niet of jullie ooit code in LaTeX, 187 00:10:35,960 --> 00:10:38,830 maar LaTeX is een wiskunde zetwerk taal die wordt gebruikt om 188 00:10:38,830 --> 00:10:42,950 echt leuk uitziende wiskunde, en wanneer je iets om naar te kijken als wiskunde willen 189 00:10:42,950 --> 00:10:47,050 je het verpakken in dollartekens, en laten we zeggen dat ik typ enkele vergelijking als F = ma, 190 00:10:47,050 --> 00:10:49,240 en ik vergat om het te verpakken in dollartekens. 191 00:10:49,240 --> 00:10:58,270 Dan kan ik dit benadrukken en wikkel het in dollartekens zomaar. 192 00:10:58,270 --> 00:11:03,640 Als alternatief Vim kun je dingen binnen-tags verwijderen 193 00:11:03,640 --> 00:11:07,300 en tags en wat al niet, maar Vim verwijderen door de natuur 194 00:11:07,300 --> 00:11:10,400 is het niet mogelijk om tags te veranderen, dus bijvoorbeeld, ik heb dit div-tag, 195 00:11:10,400 --> 00:11:13,060 en ik wil upgraden naar HTML5 en gebruik een nieuwe header-tag. 196 00:11:13,060 --> 00:11:22,290 Ik kan verandering doen rondom tag en typ in header, 197 00:11:22,290 --> 00:11:26,540 en het zal automatisch veranderen voor mij. 198 00:11:26,540 --> 00:11:29,620 Op dezelfde manier, laten we zeggen dat we iets hebben tussen haakjes, 199 00:11:29,620 --> 00:11:33,230 en ik wilde dat veranderen van haakjes in beugels of iets dergelijks. 200 00:11:33,230 --> 00:11:36,520 Ik kan ook veranderen die echt makkelijk door te typen in c voor verandering, 201 00:11:36,520 --> 00:11:39,330 s voor surround, haakjes. 202 00:11:39,330 --> 00:11:42,170 Oh, ik denk dat ik moet het typen sneller. 203 00:11:42,170 --> 00:11:45,380 Haakjes en beugels of steunen, en het zal automatisch veranderen voor mij, 204 00:11:45,380 --> 00:11:48,570 dat is erg leuk, anders normaal gesproken is het echt lastig. 205 00:11:48,570 --> 00:11:51,310 >> Dit is echt leuk om te schakelen tussen misschien wel enkele quote 206 00:11:51,310 --> 00:11:53,060 en dubbele aanhalingstekens strings of iets dergelijks. 207 00:11:53,060 --> 00:11:56,250 Dat is een voorbeeld use case. 208 00:11:56,250 --> 00:11:58,750 Er is een plugin genaamd Fugitive 209 00:11:58,750 --> 00:12:00,260 die integreert met Git. 210 00:12:00,260 --> 00:12:03,000 Ik gok dat jullie misschien niet hebt gebruikt Git dat veel in CS50, 211 00:12:03,000 --> 00:12:05,530 maar vind je jezelf met behulp van Git meer en meer en meer, 212 00:12:05,530 --> 00:12:09,530 niet alleen in de klassen gedurende Harvard, maar ook op banen en wat al niet, 213 00:12:09,530 --> 00:12:12,650 en normaal gesproken moet je heen en weer schakelen tussen 214 00:12:12,650 --> 00:12:15,950 de opdrachtregel en Vim te communiceren met Git, 215 00:12:15,950 --> 00:12:18,590 maar er is plugins te integreren met Git vanuit Vim 216 00:12:18,590 --> 00:12:23,020 en ook om u zelfs extra functionaliteit geven op de top van Git. 217 00:12:23,020 --> 00:12:25,520 Er is iets genaamd NERDTree, die u kunt gebruiken om te verkennen 218 00:12:25,520 --> 00:12:27,860 het bestand structuren van binnenuit Vim. 219 00:12:27,860 --> 00:12:31,710 >> Bijvoorbeeld, kan ik open NERDTree in het rechtervenster, 220 00:12:31,710 --> 00:12:35,100 en kun je in principe zien willekeurige bestanden 221 00:12:35,100 --> 00:12:38,720 en open-geen belastingen, kijk niet naar mijn belastingen. 222 00:12:38,720 --> 00:12:43,460 U kunt kijken naar bestanden en wat al niet en open andere bestanden en zo verder en zo voort. 223 00:12:43,460 --> 00:12:47,610 En ik zal niet ingaan op deze andere plugins, dus kunnen we in principe duiken in 224 00:12:47,610 --> 00:12:51,640 en begint te werken op Vim, maar er zijn plugins die u toelaten om 225 00:12:51,640 --> 00:12:55,420 commentaar gemakkelijker, plugins waarmee u gemakkelijker in te springen tussen de bestanden, 226 00:12:55,420 --> 00:12:57,820 plugins die je geeft syntax controle van binnenuit Vim, 227 00:12:57,820 --> 00:13:00,210 dat is echt cool, en het geeft je syntax controle 228 00:13:00,210 --> 00:13:03,710 voor de meeste talen recht uit de doos, 229 00:13:03,710 --> 00:13:07,460 dingen zoals regenboog haakjes, dat is eigenlijk echt, echt cool. 230 00:13:07,460 --> 00:13:09,110 Laat me u een voorbeeld geven van dat recht nu. 231 00:13:09,110 --> 00:13:11,150 >> Laten we eens kijken. 232 00:13:11,150 --> 00:13:15,460 Hier zijn een paar willekeurige code die ik aan het schrijven was, 233 00:13:15,460 --> 00:13:19,720 en je zult merken dat de beugels en haakjes allemaal zijn gekleurd, 234 00:13:19,720 --> 00:13:26,120 en haakjes en beugels van dezelfde kleur zijn bijpassende, dat is leuk 235 00:13:26,120 --> 00:13:29,380 en soms verbetert de leesbaarheid van je code. 236 00:13:29,380 --> 00:13:32,030 Je hebt ook het automatisch aanvullen, in tabelvorm opmaak. 237 00:13:32,030 --> 00:13:37,240 Wanneer je iets dat je wilt alle commentaren te krijgen aan line-up hebben 238 00:13:37,240 --> 00:13:40,820 of wilt u een tabel in uw tekst en u wilt 239 00:13:40,820 --> 00:13:43,870 krijgt alles te zien als een leuke tafel, in plaats van het handmatig opmaken dat 240 00:13:43,870 --> 00:13:46,830 zijn er plugins die formatteert die voor u en zo verder en zo voort. 241 00:13:46,830 --> 00:13:49,400 De lijst gaat maar door en door en door. 242 00:13:49,400 --> 00:13:53,890 Ik kon uren doorbrengen met het verkennen van alle verschillende Vim plugins die er zijn, 243 00:13:53,890 --> 00:13:59,780 en het is ongelooflijk wat daar buiten. 244 00:13:59,780 --> 00:14:05,880 >> Eventuele vragen tot nu toe? Sweet. 245 00:14:05,880 --> 00:14:10,180 In dat geval gaan we beginnen spelen met Vim, 246 00:14:10,180 --> 00:14:12,620 en ik wil dat jullie werken met een aantal Vim met mij 247 00:14:12,620 --> 00:14:17,650 dus je kunt een gevoel voor te krijgen, en ik kan u begeleiden in uw eerste stappen werken met Vim 248 00:14:17,650 --> 00:14:20,590 omdat veel mensen krijgen overweldigd als ze Vim openen, 249 00:14:20,590 --> 00:14:24,730 en soms als je niet eens weet het commando om af te sluiten kun je niet eens uit van Vim, 250 00:14:24,730 --> 00:14:26,350 maar het is niet zo slecht. 251 00:14:26,350 --> 00:14:28,820 Je hoeft alleen maar een paar minuten van de begeleiding van iemand die Vim heeft gebruikt voor 252 00:14:28,820 --> 00:14:32,220 of naar een aantal tutorials online te lezen, en je zult op uw manier in geen tijd. 253 00:14:32,220 --> 00:14:34,570 Hier zijn een aantal instructies om Vim installeren als je nog niet hebt. 254 00:14:34,570 --> 00:14:39,130 U kunt kijken naar deze dia's na de presentatie als u meer dingen installeren. 255 00:14:39,130 --> 00:14:42,660 >> Ook, dit zijn enkele instructies voor het installeren van mijn configuratiebestanden, 256 00:14:42,660 --> 00:14:48,230 en je kunt ook volgen deze instructies later als je nog niet hebt. 257 00:14:48,230 --> 00:14:52,390 Als jullie kon ga naar deze link en download een tekstbestand. 258 00:14:52,390 --> 00:14:56,640 De link brengt u naar dit tekstbestand, die ik zou graag willen dat u downloaden en openen in Vim, 259 00:14:56,640 --> 00:15:01,580 en er zijn een heleboel oefeningen en wat al niet in daar dat je rond kunt volgen met mij 260 00:15:01,580 --> 00:15:09,160 en begint zich enige oefening met een aantal van de basishandelingen in Vim. 261 00:15:09,160 --> 00:15:12,740 Goed. 262 00:15:12,740 --> 00:15:18,430 Terwijl je het openen van die up ga ik een korte intro geven aan 2 echt belangrijke principes 263 00:15:18,430 --> 00:15:23,080 in Vim bewerken die echt belangrijk om te begrijpen voordat u een duik in Vim zijn, 264 00:15:23,080 --> 00:15:25,720 en dat is modale bewerken en exploitanten en moties. 265 00:15:25,720 --> 00:15:28,600 Ik zal modale bewerken dekken eerst, en dan zullen we exploitanten en bewegingen te dekken 266 00:15:28,600 --> 00:15:30,980 in een klein beetje. 267 00:15:30,980 --> 00:15:36,910 >> De eerste sleutel onderscheid tussen Vim en vrijwel alle andere 268 00:15:36,910 --> 00:15:39,870 tekstverwerkers van welke aard is dat Vim is een modaal redacteur, 269 00:15:39,870 --> 00:15:42,260 en wat dat betekent is wanneer u gebruik maakt Vim 270 00:15:42,260 --> 00:15:44,120 je kon in een van de vele verschillende modi. 271 00:15:44,120 --> 00:15:46,590 Er is de normale modus, is er insert-modus, is er visuele modus, 272 00:15:46,590 --> 00:15:50,790 zo verder en zo voort, en het ding is, uw toetsaanslagen te nemen op verschillende acties, 273 00:15:50,790 --> 00:15:54,160 nemen op andere betekenis, afhankelijk van welke modus je bent binnen 274 00:15:54,160 --> 00:15:58,110 Net als een voorbeeld, de normale modus is de modus waarin u zich in als je verplaatsen, 275 00:15:58,110 --> 00:16:01,820 en dus zou ik de sleutel J gebruiken om beneden te bewegen, 276 00:16:01,820 --> 00:16:05,430 maar in insert-modus, je de sleutel J gebruiken om daadwerkelijk uittypen J op het scherm, 277 00:16:05,430 --> 00:16:08,230 en dat is waarom veel mensen in de war raken, omdat ze niet gewend zijn 278 00:16:08,230 --> 00:16:11,630 wordt in verschillende modi de hele tijd, en dus zijn ze uit zullen typen dingen, 279 00:16:11,630 --> 00:16:14,490 en je gewend bent aan het hebben van wat je typt op het scherm verschijnen, 280 00:16:14,490 --> 00:16:18,370 maar in Vim misschien uw cursor beweegt over de plaats 281 00:16:18,370 --> 00:16:21,020 omdat u typt rare tekens, en opeens krijg je 282 00:16:21,020 --> 00:16:24,710 verschoven naar insert-modus, omdat je een aantal belangrijke getypt 283 00:16:24,710 --> 00:16:27,150 dat zet je in insert-modus, en vervolgens de tekst begint vliegen, 284 00:16:27,150 --> 00:16:29,940 zodat mensen in de war raken als gevolg van dat. 285 00:16:29,940 --> 00:16:32,960 Maar je moet bijhouden welke modus je in te houden, 286 00:16:32,960 --> 00:16:35,260 en als je kijkt naar de zeer onderste werkbalk van Vim 287 00:16:35,260 --> 00:16:37,410 er moet een indicator die u vertelt welke modus u momenteel in zijn, 288 00:16:37,410 --> 00:16:39,350 die nuttig zou zijn. 289 00:16:39,350 --> 00:16:42,650 >> Maar in het algemeen, de 3 belangrijkste modi die u moet weten over, 290 00:16:42,650 --> 00:16:46,440 er zijn slechts waarschijnlijk 6 of 7 of 8 modes of zo, 291 00:16:46,440 --> 00:16:49,180 maar je de meeste van je tijd door te brengen in 3. 292 00:16:49,180 --> 00:16:52,150 Het eerste is de normale modus. Dit is waar je het grootste deel van uw tijd. 293 00:16:52,150 --> 00:16:55,620 Alle toetsaanslagen worden gelogd als een soort opdracht, 294 00:16:55,620 --> 00:16:58,870 en zullen we leren veel van deze opdrachten gedurende de dag van vandaag. 295 00:16:58,870 --> 00:17:03,160 De andere modus is insert-modus, dat is waar je eigenlijk aan het typen bent dingen uit, 296 00:17:03,160 --> 00:17:06,410 en insert-modus is eigenlijk de mode je meestal gebruikt om. 297 00:17:06,410 --> 00:17:08,650 U typt iets, en het komt gewoon op het scherm, 298 00:17:08,650 --> 00:17:11,800 en visuele modus is iets waar je highlight kan doen. 299 00:17:11,800 --> 00:17:14,750 Je zag eerder waar dat soms zou ik tekst markeren 300 00:17:14,750 --> 00:17:21,900 en manipuleren van het op verschillende manieren, en dat is een voorbeeld met behulp van visuele modus. 301 00:17:21,900 --> 00:17:27,819 >> We zullen beginnen met de absolute basis die je nodig hebt om te overleven in Vim, 302 00:17:27,819 --> 00:17:30,610 en het is eigenlijk deze 7 commando's hier. 303 00:17:30,610 --> 00:17:34,250 Hjkl worden gebruikt om te navigeren op de file, 304 00:17:34,250 --> 00:17:37,140 en ze komen overeen met links, omlaag, omhoog, en rechts, 305 00:17:37,140 --> 00:17:39,460 en je bent vrij om de pijltjestoetsen te gebruiken ook, 306 00:17:39,460 --> 00:17:43,110 maar we raden u aan om hjkl gebruiken zo veel mogelijk 307 00:17:43,110 --> 00:17:46,690 omdat het idee is dat terwijl je aan het bewerken bent, kunt u rond het document verplaatsen 308 00:17:46,690 --> 00:17:49,350 zonder in te schakelen tussen de pijltjestoetsen 309 00:17:49,350 --> 00:17:52,210 en waar u aan het typen bent, dat is echt, echt leuk. 310 00:17:52,210 --> 00:17:54,390 Je wil gewoon een paar letters over te stappen. 311 00:17:54,390 --> 00:17:58,020 Je hoeft niet je hele hand over te verschuiven, en het is wel leuk om dat te hebben. 312 00:17:58,020 --> 00:18:01,920 Sommige Vim deskundigen daadwerkelijk in kaart hun pijltjestoetsen om andere functies 313 00:18:01,920 --> 00:18:06,880 omdat ze al hjkl, en kunnen ze hun pijltjestoetsen voor andere functies te gebruiken. 314 00:18:06,880 --> 00:18:09,080 Hjkl beweegt je rond terwijl je in de normale modus. 315 00:18:09,080 --> 00:18:11,650 Als u wilt gaan naar de insert mode en typ iets 316 00:18:11,650 --> 00:18:15,370 u kan ik op voor het inbrengen modus, en dat zet je in insert-modus, 317 00:18:15,370 --> 00:18:17,820 en kun je iets typt, en je ontsnapping typt 318 00:18:17,820 --> 00:18:20,270 terug naar de normale modus te krijgen van het inbrengen modus. 319 00:18:20,270 --> 00:18:23,280 Escape stuurt je altijd terug naar de normale modus 320 00:18:23,280 --> 00:18:26,740 het maakt niet uit in welke modus je in, en als je wilt vertrekken 321 00:18:26,740 --> 00:18:29,760 u kunt typen in: wq invoeren, 322 00:18:29,760 --> 00:18:32,640 en de manier waarop je kunt dit onthouden is w staat voor write, 323 00:18:32,640 --> 00:18:34,960 en q staat voor stoppen, dus: wq, 324 00:18:34,960 --> 00:18:39,680 en dikke darm loopt het commando, en dus: wq invoeren om de opdracht uit te voeren 325 00:18:39,680 --> 00:18:41,840 bespaart en uitgangen. 326 00:18:41,840 --> 00:18:46,700 >> Als u het bestand openen we gaan door de eerste oefening samen. 327 00:18:46,700 --> 00:18:49,450 Stap 1 is overleven in Vim, 328 00:18:49,450 --> 00:18:53,490 en hopelijk hebben jullie al deze open. 329 00:18:53,490 --> 00:18:58,460 Goed, en we hebben een aantal eenvoudige oefeningen voor u om te wennen aan het gebruik van deze toetsen. 330 00:18:58,460 --> 00:19:03,000 Hjkl echt niet lijken intuïtief op het eerste, 331 00:19:03,000 --> 00:19:08,710 en dit is een van de eerste blokken die men tijdens het gebruik van Vim 332 00:19:08,710 --> 00:19:10,820 is met behulp van deze toetsen om te navigeren rond. 333 00:19:10,820 --> 00:19:13,650 Het is niet intuïtief, maar als je eenmaal aan gewend 334 00:19:13,650 --> 00:19:19,590 het echt integreert in je geest, en veel mensen vinden zichzelf vaak 335 00:19:19,590 --> 00:19:23,550 met behulp van J en K in Word of ook in Chrome, 336 00:19:23,550 --> 00:19:26,530 en eigenlijk mensen hebben dit Chrome plugin genaamd Vimium gemaakt 337 00:19:26,530 --> 00:19:29,220 die u kunt gebruiken in Chrome of Chromium te navigeren door Chrome 338 00:19:29,220 --> 00:19:31,380 met behulp van uw toetsenbord, met Vim-achtige snelkoppelingen, 339 00:19:31,380 --> 00:19:35,050 dus mensen zijn erg enthousiast over, maar ga je gang en probeer en het gebruik 340 00:19:35,050 --> 00:19:41,720 Hjkl om te navigeren tussen de nummers gewoon zo kunt u vertrouwd te raken 341 00:19:41,720 --> 00:19:45,660 met hoe deze dingen werken. 342 00:19:45,660 --> 00:19:50,440 >> Als je dat af te maken, kunt u ook gaan en spelen rond met dit doolhof die ik heb gemaakt 343 00:19:50,440 --> 00:19:53,580 gewoon voor de lol, en je kunt een soort van volg de stippellijn 344 00:19:53,580 --> 00:19:59,060 en probeer niet te crashen in de muren 345 00:19:59,060 --> 00:20:07,860 en proberen om het te maken tot het einde van het doolhof. 346 00:20:07,860 --> 00:20:11,840 Als u sneltoetsen in Gmail of een aantal verschillende toepassingen gebruiken 347 00:20:11,840 --> 00:20:15,130 je zult zien dat J en K, bijvoorbeeld, worden vaak gebruikt om op en neer te bewegen, 348 00:20:15,130 --> 00:20:19,930 en dat komt eigenlijk uit Vim wezen, dus je hebt J en K, 349 00:20:19,930 --> 00:20:22,690 en het is echt leuk omdat je op en neer kan bewegen zonder dat u 350 00:20:22,690 --> 00:20:26,210 beweeg je hand heen en weer van de pijltjestoetsen. 351 00:20:26,210 --> 00:20:29,410 Nu laten we proberen in te gaan op het inbrengen modus en het weggaan van het inbrengen modus. 352 00:20:29,410 --> 00:20:34,370 U zult merken dat op dit moment mijn cursor is een grote, zwarte doos, 353 00:20:34,370 --> 00:20:37,300 en als je in de invoermodus je vindt dat 354 00:20:37,300 --> 00:20:39,670 het verandert in een smalle cursor zoals je gewend bent. 355 00:20:39,670 --> 00:20:43,730 Als u gebruik maakt Vim in de terminal mag u niet vinden dat dit het geval te zijn 356 00:20:43,730 --> 00:20:46,970 omdat de aansluiting ondersteunt dit soort dunne cursor, 357 00:20:46,970 --> 00:20:49,890 maar als je gebruik maakt MacVim of gvim op Windows 358 00:20:49,890 --> 00:20:54,590 dan moet je weten dat het verandert in een cursor, en dat is echt een snelle visuele indicator. 359 00:20:54,590 --> 00:20:58,270 Het is voor u om te vertellen of u bent in de normale modus of insertie-modus. 360 00:20:58,270 --> 00:21:02,890 >> Laten we verder gaan en probeer bewerken van deze lijn. 361 00:21:02,890 --> 00:21:06,220 Vul het in met uw eigen informatie of wat het ook is, 362 00:21:06,220 --> 00:21:11,750 en hoe je dat kunt doen is dat je kunt doorstromen naar het einde van de blanco, 363 00:21:11,750 --> 00:21:16,040 Type I om in de invoermodus, en je kunt backspace 364 00:21:16,040 --> 00:21:21,100 en typ uw naam, en als je klaar bent het typen 365 00:21:21,100 --> 00:21:26,520 kunt u op escape om uit de invoermodus 366 00:21:26,520 --> 00:21:35,930 en je kunt hier bewegen, het type insert te verwijderen dat, 367 00:21:35,930 --> 00:21:42,700 Typ ontsnappen uit te komen inbrengen, waarin u kunt typen: w in te voeren 368 00:21:42,700 --> 00:21:44,720 het bestand wilt opslaan. 369 00:21:44,720 --> 00:21:47,420 U kunt typen in slechts: w om het bestand op te slaan. 370 00:21:47,420 --> 00:21:50,560 U kunt typen in slechts: q om te stoppen zonder op te slaan, 371 00:21:50,560 --> 00:21:53,750 of u kunt typen in: wq te slaan en af ​​te sluiten. 372 00:21:53,750 --> 00:21:58,850 Toegegeven, we willen niet nog te stoppen, zodat u kunt typen in: w. 373 00:21:58,850 --> 00:22:01,780 En misschien is dat een beetje inefficiënt leek op het eerste 374 00:22:01,780 --> 00:22:05,600 want om naar die plek moest je type J een paar keer, 375 00:22:05,600 --> 00:22:08,670 misschien L een paar keer naar die plek te krijgen, 376 00:22:08,670 --> 00:22:11,260 en je moet op backspace een paar keer, en het leek echt inefficiënt 377 00:22:11,260 --> 00:22:13,260 terwijl normaal gesproken zou u waarschijnlijk Beweeg de muis over daar, 378 00:22:13,260 --> 00:22:15,880 dubbelklikken en begin te typen, en natuurlijk, 379 00:22:15,880 --> 00:22:19,190 het ding is, wanneer u voor het eerst beginnen met Vim en u alleen weet dat deze basis commando's, 380 00:22:19,190 --> 00:22:22,810 ja, het zal een beetje trager, maar al snel leer je wat meer krachtige commando's, 381 00:22:22,810 --> 00:22:26,380 die zal u toelaten om veel sneller bewegen over documenten, 382 00:22:26,380 --> 00:22:29,410 en je hoeft niet aan deze zeer omslachtig gebruik van hebben 383 00:22:29,410 --> 00:22:34,330 herhalen Js en het herhalen van Ks en Ls en zo verder en zo voort. 384 00:22:34,330 --> 00:22:41,340 >> Eventuele vragen tot nu toe? Solid. 385 00:22:41,340 --> 00:22:44,000 Terug naar de PowerPoint. 386 00:22:44,000 --> 00:22:49,140 Nu gaan we nog een paar commando's voor geavanceerde beweging te introduceren. 387 00:22:49,140 --> 00:22:52,680 Je hebt ervaren dat u misschien L typen een stuk of H veel, 388 00:22:52,680 --> 00:22:57,200 en hier zijn nog enkele opdrachten die u kunt gebruiken om sneller van bewegen. 389 00:22:57,200 --> 00:23:02,990 Stel dat uw cursor op de O dan in het aantal in: "Dit is een tekst," 390 00:23:02,990 --> 00:23:06,840 en hier zijn 5 meer opdrachten die u kunt gebruiken om zich gemakkelijker over de lijn. 391 00:23:06,840 --> 00:23:09,820 Dus ^ en $ verplaatsen je naar het begin en einde lijn, 392 00:23:09,820 --> 00:23:14,300 en op een gegeven moment wanneer je leert reguliere expressies of andere verschillende dingen 393 00:23:14,300 --> 00:23:17,390 je zult zien dat dit soort overeenkomsten zijn zeer algemeen. 394 00:23:17,390 --> 00:23:19,360 De ^ algemeen verwijst naar het begin van de regel. 395 00:23:19,360 --> 00:23:21,090 De $ verwijst doorgaans naar het einde van de regel. 396 00:23:21,090 --> 00:23:24,130 Deze zijn zeer gemakkelijk te onthouden, en evenzo, b, e en w, 397 00:23:24,130 --> 00:23:28,340 ze zijn ook goed te onthouden, omdat b komt overeen met een back of begin 398 00:23:28,340 --> 00:23:30,630 e geeft het einde, dat is het einde van het woord, 399 00:23:30,630 --> 00:23:35,530 en w komt overeen met het volgende woord, dus w voor woord. 400 00:23:35,530 --> 00:23:37,750 En als je blijft typen e of houden typen w 401 00:23:37,750 --> 00:23:43,520 je merkt dat je kunt springen tussen woorden, en het is veel sneller dan gewoon typen l. 402 00:23:43,520 --> 00:23:46,600 >> Nu, het volgende wat is de Operator-Motion Model. 403 00:23:46,600 --> 00:23:50,310 Dit is eigenlijk een van de belangrijkste redenen waarom Vim zo krachtig kan zijn, 404 00:23:50,310 --> 00:23:54,890 en het is omdat je in wezen kunt samenstellen verschillende elementen 405 00:23:54,890 --> 00:23:58,250 in meer krachtige functies, dus meestal 406 00:23:58,250 --> 00:24:01,000 wanneer je iets doen in Vim kun je denken aan het als 407 00:24:01,000 --> 00:24:03,280 het combineren van een operator met een motie. 408 00:24:03,280 --> 00:24:07,310 Tot nu toe hebben we net behandeld bewegingen, zoals hjkl. 409 00:24:07,310 --> 00:24:10,770 Ze bewegen u rond, en dan b en w, ze bewegen ook rond verschillende manieren, 410 00:24:10,770 --> 00:24:14,600 maar we hebben nog niet gegaan op de mogelijkheid om dingen te wissen of dingen of wat te veranderen, 411 00:24:14,600 --> 00:24:19,320 en als je operatoren combineren met bewegingen dan bent u in staat om zijn 412 00:24:19,320 --> 00:24:22,510 veel krachtiger effecten, dus bijvoorbeeld, 413 00:24:22,510 --> 00:24:26,360 als ik wilde 2 woorden schrappen, kan ik d gebruiken voor de verwijdering operator, 414 00:24:26,360 --> 00:24:29,420 en ik kan een 2 toe te voegen om aan te geven dat ik wil 2 woorden schrappen, 415 00:24:29,420 --> 00:24:31,130 en dan onder ik een motie. 416 00:24:31,130 --> 00:24:33,490 Ik kan onder w zeggen schrappen 2 woorden. 417 00:24:33,490 --> 00:24:37,740 Ik kon iets als J gebruiken om te zeggen verwijderen neerwaartse 2 keer 418 00:24:37,740 --> 00:24:39,880 en verwijderen 2 regels onder mij. 419 00:24:39,880 --> 00:24:43,870 Ik kon D2B zeggen achteruit twee keer te verwijderen, 420 00:24:43,870 --> 00:24:46,450 en er zijn nog meer bewegingen dan degenen die ik hier heb laten zien 421 00:24:46,450 --> 00:24:52,120 om echt, echt uw Vim editing veel krachtiger. 422 00:24:52,120 --> 00:24:55,450 >> Dit zijn enkele van de meest populaire en de meest voorkomende operators 423 00:24:55,450 --> 00:24:57,030 en zijn vrij gemakkelijk om zo goed herinneren. 424 00:24:57,030 --> 00:24:59,040 D om te verwijderen, c voor verandering. 425 00:24:59,040 --> 00:25:01,560 C is in principe precies hetzelfde als verandering, behalve dat 426 00:25:01,560 --> 00:25:05,990 wanneer u automatisch c je gebruikt krijgen in insert-modus te zetten na afloop. 427 00:25:05,990 --> 00:25:08,050 Normaal als je verwijdering gebruikt u het gebruiken van de normale modus, 428 00:25:08,050 --> 00:25:10,950 en nadat je iets wat je verblijf in de normale modus te verwijderen. 429 00:25:10,950 --> 00:25:13,380 Maar als je iets wilt wijzigen, kunt u gebruiken c 430 00:25:13,380 --> 00:25:15,960 om iets te verwijderen en dan meteen gaan in insertion mode 431 00:25:15,960 --> 00:25:17,740 zodat u begint te typen en repareren iets. 432 00:25:17,740 --> 00:25:21,160 Y is voor yanking. 433 00:25:21,160 --> 00:25:25,130 Het is eigenlijk Vim notie van het kopiëren. 434 00:25:25,130 --> 00:25:29,220 Bijvoorbeeld, als ik wil de volgende 2 woorden kopiëren Ik kan y2w of iets dergelijks te doen, 435 00:25:29,220 --> 00:25:32,120 en v is voor het benadrukken wezen. 436 00:25:32,120 --> 00:25:35,550 En ook wat echt cool is als je een operator overtypen 437 00:25:35,550 --> 00:25:38,890 het zal werken op een hele lijn, dus als ik wil een hele lijn verwijderen 438 00:25:38,890 --> 00:25:41,060 Ik kan typen dd om de hele regel te verwijderen, 439 00:25:41,060 --> 00:25:47,370 of als ik wil de hele lijn te kopiëren ik kan gebruiken yy of iets dergelijks. 440 00:25:47,370 --> 00:25:51,600 >> Laten we proberen dit wat meer. 441 00:25:51,600 --> 00:25:56,280 Er is een oefening hier voor een geavanceerde beweging exploitant en 442 00:25:56,280 --> 00:25:59,230 en zelfs sommige andere dingen die ik ben niet van plan te gaan in de PowerPoint van vandaag, 443 00:25:59,230 --> 00:26:02,250 maar u kunt later vrij om te kijken over hen voelen en spelen met hen 444 00:26:02,250 --> 00:26:05,990 en vertrouwd te raken met hen. 445 00:26:05,990 --> 00:26:07,630 Operators en moties. 446 00:26:07,630 --> 00:26:14,220 Stel bijvoorbeeld dat er deze 2 woorden die je gewoon wilt verwijderen in de zin. 447 00:26:14,220 --> 00:26:17,110 Wat je wilt doen is u zult willen ervoor zorgen dat uw 448 00:26:17,110 --> 00:26:21,000 cursor aan het begin van het eerste woord dat u wilt verwijderen, 449 00:26:21,000 --> 00:26:26,230 en u kunt typen in d2w, en het zal die 2 woorden voor u te verwijderen. 450 00:26:26,230 --> 00:26:33,140 En gebruik van deze exacte commando, d2w, lijkt misschien een beetje omslachtig 451 00:26:33,140 --> 00:26:35,940 en zinloos, maar het is de bedoeling om het idee uit te drukken 452 00:26:35,940 --> 00:26:39,380 dat je deze verschillende dingen kunnen samenstellen, en ook voor het geval 453 00:26:39,380 --> 00:26:42,730 je toevallig in de situatie, dan kun je uiteindelijk met behulp van dw of d2w, 454 00:26:42,730 --> 00:26:45,600 die ik gebruik af en toe. 455 00:26:45,600 --> 00:26:50,030 Dd en cc gebruik ik veel vaker, want je kan handelen gehele lijnen. 456 00:26:50,030 --> 00:26:52,000 >> Bijvoorbeeld, laten we zeggen dat ik deze willekeurige lijst hier, 457 00:26:52,000 --> 00:26:59,030 en misschien wil ik de lijn die Huskies zegt omdat het niet past verwijderen, enkel omdat, 458 00:26:59,030 --> 00:27:01,200 en ik wil niet dat het achteraf in het inbrengen modus gaan. 459 00:27:01,200 --> 00:27:03,530 Ik wil om het te verwijderen, in welk geval ik dd kon typen, 460 00:27:03,530 --> 00:27:07,090 en dat zal de hele regel te verwijderen. 461 00:27:07,090 --> 00:27:11,680 Maar laten we zeggen nu is er die andere lijn die ik wil verwijderen, 462 00:27:11,680 --> 00:27:16,850 maar ik wil ook om het te repareren en herschrijven, in welk geval ik iets als cc proberen, 463 00:27:16,850 --> 00:27:19,550 en dat wist de hele lijn, maar zet me in de invoermodus, zoals je kunt zien, 464 00:27:19,550 --> 00:27:24,970 en ik kan het oplossen van daar. 465 00:27:24,970 --> 00:27:28,510 En er zijn vele, vele verschillende manieren waarop u kunt operators en bewegingen combineren, 466 00:27:28,510 --> 00:27:31,360 en als je Vim gebruiken meer en meer je meer over de verschillende manieren om te leren 467 00:27:31,360 --> 00:27:36,300 U kunt deze opdrachten gebruiken, en je zult beter en beter te worden. 468 00:27:36,300 --> 00:27:40,180 Geweldig, nu hier zijn enkele andere diverse opdrachten 469 00:27:40,180 --> 00:27:44,700 die ook zeer, zeer vaak gebruikt en ook zal u helpen beter bij Vim geworden. 470 00:27:44,700 --> 00:27:48,780 >> Zo spraken we over kleine v voor visuele highlighting. 471 00:27:48,780 --> 00:27:51,530 We kunnen ook gebruik maken van hoofdletters V voor visuele lijn highlighting. 472 00:27:51,530 --> 00:27:55,880 Die manier kan je hele regels tegelijk eenvoudig markeren veel meer. 473 00:27:55,880 --> 00:27:59,180 U kunt gebruik maken o wanneer je in de normale modus om in principe een nieuwe regel 474 00:27:59,180 --> 00:28:03,620 onder de lijn waar je nu op en zet het in het inbrengen modus om te beginnen met typen. 475 00:28:03,620 --> 00:28:07,270 U kunt kleine letters x gebruiken om het karakter dat er momenteel onder uw cursor te verwijderen. 476 00:28:07,270 --> 00:28:10,230 U kunt ook op u om ongedaan te maken, dat is wel leuk, 477 00:28:10,230 --> 00:28:14,180 en je kunt hoofdletter A gebruiken om te voegen aan het einde van de huidige regel, 478 00:28:14,180 --> 00:28:18,310 dus misschien uw cursor ergens op de lijn, en u wilt toevoegen aan het einde van de lijn. 479 00:28:18,310 --> 00:28:21,150 Dan kunt u hoofdletter A typen om meteen terug naar het einde van de regel 480 00:28:21,150 --> 00:28:25,140 en ga in het inbrengen modus, zodat u kunt toevoegen aan het einde van de lijn. 481 00:28:25,140 --> 00:28:30,840 >> Ik denk dat ik nog een paar oefeningen voor datgene wat we kunnen uitproberen. 482 00:28:30,840 --> 00:28:33,240 Eigenlijk, nee, dat doe ik niet. Niet voor mensen die. 483 00:28:33,240 --> 00:28:35,810 Maar we hebben wat meer oefeningen voor de volgende paragraaf waarin we zullen zien. 484 00:28:35,810 --> 00:28:38,420 Maar deze kun je proberen jezelf. 485 00:28:38,420 --> 00:28:45,610 Bijvoorbeeld, als u typt in de reguliere v, u zult regelmatig benadrukken dat je gebruikt om dit leuk te krijgen. 486 00:28:45,610 --> 00:28:49,800 Als u typt in het kapitaal V, kunt u de volledige lijn te markeren als dat te krijgen, 487 00:28:49,800 --> 00:28:55,850 of als ik typ in o het in principe zal een nieuwe lijn te openen voor mij, dat is wel leuk. 488 00:28:55,850 --> 00:28:58,850 X ik kan gebruiken om tekens te verwijderen op de cursor. 489 00:28:58,850 --> 00:29:00,800 Ik kan op x een paar keer en dingen moeten verwijderen. 490 00:29:00,800 --> 00:29:06,720 Ik kan op u om ongedaan te maken dat alles. 491 00:29:06,720 --> 00:29:09,600 A, kan ik typ in A om onmiddellijk naar het einde van de lijn, 492 00:29:09,600 --> 00:29:14,040 en Ik heb ook een paar andere leuke toetsen 493 00:29:14,040 --> 00:29:19,240 dat u ook kunt kijken naar na de presentatie aan enkele andere commando's te leren. 494 00:29:19,240 --> 00:29:21,250 >> [Student] Wat is vervanging over? 495 00:29:21,250 --> 00:29:23,050 [Brandon L.] Vervanging is ook echt cool 496 00:29:23,050 --> 00:29:26,240 en eigenlijk als je ergens onderweg 497 00:29:26,240 --> 00:29:30,060 heb je ooit-mensen niet echt gebruiken dat veel meer van deze dagen, 498 00:29:30,060 --> 00:29:34,340 maar hebben jullie ooit in Microsoft Word als je type gebruiken 499 00:29:34,340 --> 00:29:37,840 je plotseling gaan in deze vreemde toestand waarin elk teken dat u typt 500 00:29:37,840 --> 00:29:39,570 vervangt in principe de volgende teken? 501 00:29:39,570 --> 00:29:41,020 Ik weet niet of jullie ooit hebben gezien dat. 502 00:29:41,020 --> 00:29:43,250 Dit is vergelijkbaar met die. 503 00:29:43,250 --> 00:29:47,150 Bijvoorbeeld, als ik wil overschrijven wat ik op dit moment om wat voor reden 504 00:29:47,150 --> 00:29:51,300 Ik kan typen in de hoofdstad R, en ik zal nu in de modus Vervangen, zoals je kunt zien in de linkerbenedenhoek. 505 00:29:51,300 --> 00:29:58,380 Als ik typ dingen overschrijft deze dingen, en ik kan ook backspace, dat is wel cool, 506 00:29:58,380 --> 00:30:00,140 en ik kan ongedaan dat. 507 00:30:00,140 --> 00:30:06,980 Ik gebruik dat heel vaak, maar zo nu en dan is het handig wordt. 508 00:30:06,980 --> 00:30:14,150 >> Laten we praten over de tekst objecten, dat is een van mijn favoriete dingen over Vim, eerlijk gezegd. 509 00:30:14,150 --> 00:30:19,660 Tekst objecten zijn in principe deze notie van het definiëren van een soort stuk tekst 510 00:30:19,660 --> 00:30:26,550 in uw tekstbestand, en ik zal eerst via deze toetsen gaan, 511 00:30:26,550 --> 00:30:29,860 en dan zal ik je een aantal demonstraties geven voor u om beter te begrijpen wat dat betekent. 512 00:30:29,860 --> 00:30:34,650 W verwijst naar een woord, als een tekst object als een woord, 513 00:30:34,650 --> 00:30:36,480 dus sommige woord zoals u dat normaal kennen, 514 00:30:36,480 --> 00:30:39,300 en als er leestekens dat is naast het woord 515 00:30:39,300 --> 00:30:43,490 dan zal het niet de leestekens omvatten over het algemeen. 516 00:30:43,490 --> 00:30:46,440 Maar bijvoorbeeld als u de interpunctie of andere reden onder 517 00:30:46,440 --> 00:30:49,080 of je bent iets dat niet Engels te doen en u wilt opnemen 518 00:30:49,080 --> 00:30:51,180 alle tekens die worden afgebakend door witruimte 519 00:30:51,180 --> 00:30:55,390 kunt u ook hoofdletter W gebruiken om alles wat is omgeven door witruimte krijgen. 520 00:30:55,390 --> 00:30:58,510 U kunt ook haakjes gebruiken om te verwijzen naar een tekstobject 521 00:30:58,510 --> 00:31:00,170 dat is in een paar haakjes. 522 00:31:00,170 --> 00:31:03,950 U kunt hetzelfde doen met vierkante haken, hoekijzers, 523 00:31:03,950 --> 00:31:06,450 bretels, en citaten als goed, en ten slotte, 524 00:31:06,450 --> 00:31:10,970 U kunt ook gebruik maken van t te verwijzen naar een aantal tag. 525 00:31:10,970 --> 00:31:15,390 >> Laat me zien hoe je dat eigenlijk afspeelt. 526 00:31:15,390 --> 00:31:21,380 Zo, dit is mijn allereerste voorbeeld in mijn vitrine. 527 00:31:21,380 --> 00:31:26,950 Er is wat woord in deze zin die ik wil veranderen, 528 00:31:26,950 --> 00:31:30,560 en we spraken over W wordt gebruikt als een beweging, 529 00:31:30,560 --> 00:31:33,170 maar u kunt het ook gebruiken als een tekstobject zoals zo. 530 00:31:33,170 --> 00:31:40,940 Bijvoorbeeld, een manier kon ik de naam van Barack wijzigen of eigenlijk wijzigen 531 00:31:40,940 --> 00:31:46,730 is dat ik kon gaan naar het begin van dit woord en typ c voor verandering en w voor woord, 532 00:31:46,730 --> 00:31:51,650 en dat zal het hele woord te verwijderen en zet het in het inbrengen modus. 533 00:31:51,650 --> 00:31:54,240 Maar het is heel vervelend voor mij om te moeten gaan naar het begin van het woord de hele tijd. 534 00:31:54,240 --> 00:31:56,530 Dat is echt vervelend. Ik wil niet te hebben om dat te doen. 535 00:31:56,530 --> 00:32:00,390 Ik kan eigenlijk overal zijn in zijn naam 536 00:32:00,390 --> 00:32:03,930 en typ in de CIW en de i staat voor innerlijke, 537 00:32:03,930 --> 00:32:06,590 dus als ik typ in CIW staat het voor verandering in een woord, 538 00:32:06,590 --> 00:32:10,150 of met andere woorden, verander het woord Ik ben momenteel binnen, 539 00:32:10,150 --> 00:32:13,280 en het zal u precies hetzelfde effect te geven. 540 00:32:13,280 --> 00:32:17,130 U kunt repareren. 541 00:32:17,130 --> 00:32:21,390 >> Ook, misschien heb ik een aantal geval als dit 542 00:32:21,390 --> 00:32:27,920 waar een of andere reden zijn er een aantal afbakeningen of iets dergelijks, 543 00:32:27,920 --> 00:32:31,700 of is er een aantal leestekens, en ik wilde de hele zaak te verwijderen. 544 00:32:31,700 --> 00:32:36,530 Als ik typ in CIW zal verwijderen wat er binnen deze begrenzers, 545 00:32:36,530 --> 00:32:39,830 maar ik wil de hele zaak, dat is omgeven door witruimte te krijgen, 546 00:32:39,830 --> 00:32:42,750 dus ik kan CIW gebruiken om de hele zaak te verwijderen. 547 00:32:42,750 --> 00:32:51,000 Ik type in vijf, hetzelfde doen, en typ in zes. 548 00:32:51,000 --> 00:32:53,670 Evenzo, als ik wil iets dat tussen de haakjes te veranderen 549 00:32:53,670 --> 00:32:58,340 Ik kan typen in ci) om alles wat tussen de haakjes te verwijderen 550 00:32:58,340 --> 00:33:05,460 en vervolgens in wat ik wil doen vullen, zoals int argc, wat je wilt doen, 551 00:33:05,460 --> 00:33:07,330 en evenzo hetzelfde met citaten. 552 00:33:07,330 --> 00:33:13,130 Ik kan de tekst dat er binnen citaten vast te stellen, 553 00:33:13,130 --> 00:33:21,540 en ik kan ook dingen die binnenkant van labels wijzigen. 554 00:33:21,540 --> 00:33:24,400 Is dat logisch? 555 00:33:24,400 --> 00:33:27,020 >> Een ander ding dat je kunt doen is dat je niet hoeft te gebruiken c. 556 00:33:27,020 --> 00:33:30,690 U kunt ook gebruik maken van d als u wilt verwijderen wat er in deze tags. 557 00:33:30,690 --> 00:33:35,370 Als ik wil de tekst in een tag te verwijderen kan ik zegt gebruiken om die tag te verwijderen. 558 00:33:35,370 --> 00:33:40,360 Ik kan ook gebruik maken van vit te benadrukken wat er in de tag, bijvoorbeeld. 559 00:33:40,360 --> 00:33:43,920 Het andere ding is in plaats van het gebruik van i in het midden kunt u ook gebruik maken van een, 560 00:33:43,920 --> 00:33:49,490 wat staat voor alle, dus vergeet niet als je gebruik ik het zal verwijzen naar de tekst object 561 00:33:49,490 --> 00:33:52,260 of gebruik een tekst object dat is opgenomen in de scheidingstekens, 562 00:33:52,260 --> 00:33:56,000 maar als je een gebruiken zal dat zowel tekst als scheidingsteken zelf. 563 00:33:56,000 --> 00:33:59,180 Bijvoorbeeld, als ik wil deze tekst en de omliggende label te markeren 564 00:33:59,180 --> 00:34:05,390 Ik kan btw, v gebruiken voor visuele hoogtepunt, een voor allen, en dan is t voor de tag. 565 00:34:05,390 --> 00:34:08,350 Je kunt zoiets ook doen. 566 00:34:08,350 --> 00:34:15,810 Misschien wil ik dit google.com te verwijderen met de aanhalingstekens rond het ook, 567 00:34:15,810 --> 00:34:22,860 en ik kan iets als da "gebruiken om dat allemaal te verwijderen, bijvoorbeeld. 568 00:34:22,860 --> 00:34:26,520 >> Eventuele vragen tot nu toe? 569 00:34:26,520 --> 00:34:32,270 Ik realiseer me dat ik dumpen op je veel van Vim commando allemaal tegelijk, 570 00:34:32,270 --> 00:34:36,210 en dit is voornamelijk omdat ik wil je bloot te stellen aan alle verschillende commando's 571 00:34:36,210 --> 00:34:39,480 en geven u een inleiding tot wat deze commando's doen in Vim. 572 00:34:39,480 --> 00:34:41,460 Maar wat zal moeten gebeuren is wanneer je terug gaat 573 00:34:41,460 --> 00:34:44,250 je gaat te hebben om zachtjes op deze commando's een voor een. 574 00:34:44,250 --> 00:34:47,880 Je wilt niet om jezelf te overweldigen, want dat is te overweldigend. 575 00:34:47,880 --> 00:34:50,460 Als u wilt ophalen Vim wat je hoeft te doen is echt 576 00:34:50,460 --> 00:34:53,590 beginnen met de eerste basisset, en ik heb het opgesplitst in lessen voor u 577 00:34:53,590 --> 00:34:57,830 dat maakt het makkelijker voor u om te volgen, en probeer en beheersen elke set van commando's 578 00:34:57,830 --> 00:35:00,400 een voor een, een voor een. 579 00:35:00,400 --> 00:35:03,500 Het is te veel om alles tegelijk te doen, dus wat je moet doen als je wil teruggaan 580 00:35:03,500 --> 00:35:10,950 ga naar de eerste les, dat is hjkl, inbrengen modus, ontsnappen in de normale modus, 581 00:35:10,950 --> 00:35:13,790 en opslaan en stoppen, en dat is alles wat je echt nodig hebt om te overleven in Vim, 582 00:35:13,790 --> 00:35:15,220 en krijg echt, echt comfortabel met dat. 583 00:35:15,220 --> 00:35:18,270 En na een paar dagen als je eenmaal bent zeer comfortabel met dat 584 00:35:18,270 --> 00:35:21,170 je moet gaan naar de meer geavanceerde motion exploitanten, 585 00:35:21,170 --> 00:35:25,890 de meer geavanceerde bewegingen, en aan de exploitanten enzovoort, enzovoort. 586 00:35:25,890 --> 00:35:32,160 >> Ik weet dat ik veel meegemaakt, maar ik wil krijg je blootgesteld aan een heleboel verschillende dingen. 587 00:35:32,160 --> 00:35:36,080 Maar in het geval je bent klaar voor de uitdaging, kan ik je laten zien 588 00:35:36,080 --> 00:35:43,690 hoe je het allemaal bij elkaar kan zetten met behulp van de meeste van wat we net geleerd vandaag, 589 00:35:43,690 --> 00:35:46,280 en je kunt ook volgen langs als je wilt, 590 00:35:46,280 --> 00:35:48,590 maar Ik heb enkele willekeurige oefening. 591 00:35:48,590 --> 00:35:51,140 Stel we hebben een soort van rooster als dit 592 00:35:51,140 --> 00:35:53,200 waar heb je deze blokken met namen van mensen, 593 00:35:53,200 --> 00:35:55,440 huizen, jaar, en concentraties en wat al niet, 594 00:35:55,440 --> 00:35:59,240 en u wilt een nieuwe vermelding voor jezelf toe te voegen. 595 00:35:59,240 --> 00:36:01,530 Wat is de beste manier voor u om dit te doen? 596 00:36:01,530 --> 00:36:03,240 Laten we het zo doen. 597 00:36:03,240 --> 00:36:06,620 Waarom gaan we niet eerst benadrukken dit blok. 598 00:36:06,620 --> 00:36:08,710 Je gaat om het te selecteren, en kunnen we y op om het te rukken, 599 00:36:08,710 --> 00:36:11,180 dus nu kunnen we in principe kopieer en plak deze template eerste 600 00:36:11,180 --> 00:36:16,500 zonder dat het hele ding te herschrijven vanuit het niets. 601 00:36:16,500 --> 00:36:20,390 Nu zal ik op j beneden een paar keer naar beneden te gaan, 602 00:36:20,390 --> 00:36:22,560 en ik zal druk p om te plakken. 603 00:36:22,560 --> 00:36:26,990 Misschien zal ik wat extra lijnen voor een spatie toe te voegen, 604 00:36:26,990 --> 00:36:31,130 en laten we zeggen nu wil ik je naam te veranderen in iemand. 605 00:36:31,130 --> 00:36:36,220 Dan kan ik hier gaan en typ in c2w zoals voorheen om die naam te veranderen. 606 00:36:36,220 --> 00:36:38,860 Bob Jones, wie weet. 607 00:36:38,860 --> 00:36:41,470 Misschien als ik het huis wil veranderen kan ik in het midden hier gaan 608 00:36:41,470 --> 00:36:44,230 en typ in CIW en zet Cabot House. 609 00:36:44,230 --> 00:36:47,850 >> Hier kan een voorbeeld van waar u zou willen overwegen gebruik te 610 00:36:47,850 --> 00:36:52,970 de mode voor het vervangen uw afstuderen jaar veranderen als je wilt, 611 00:36:52,970 --> 00:36:54,890 of we kunnen ook gebruik maken van CIW ook. 612 00:36:54,890 --> 00:36:57,550 Het maakt niet uit. 613 00:36:57,550 --> 00:37:07,180 Misschien wilt u uw grote verandering. 614 00:37:07,180 --> 00:37:11,310 En dat is wat je doet. 615 00:37:11,310 --> 00:37:17,170 En misschien zal ik u een demonstratie van wat ik zou kunnen doen geven 616 00:37:17,170 --> 00:37:23,820 als ik-als u doorgaat met meer geavanceerde commando's te leren in Vim 617 00:37:23,820 --> 00:37:25,690 omdat we nauwelijks krassen op het oppervlak hier, 618 00:37:25,690 --> 00:37:28,960 en ik kon dit soort bewerking doen, zelfs sneller dan ik je hier heb laten zien 619 00:37:28,960 --> 00:37:32,860 omdat ik weet meer commando dat ik niet de kans om te laten zien voor vandaag hebben gekregen. 620 00:37:32,860 --> 00:37:37,500 Bijvoorbeeld, als ik wil dit benadrukken ik kan het zo doet, 621 00:37:37,500 --> 00:37:39,960 naar beneden. 622 00:37:39,960 --> 00:37:43,860 Ik heb mijn eigen mapping toegevoegd 623 00:37:43,860 --> 00:37:48,100 om in principe automatisch markeren spullen voor mij 624 00:37:48,100 --> 00:38:02,610 en ik kan-ik weet het niet. 625 00:38:02,610 --> 00:38:05,260 Ik bedoel, dit is gewoon proberen te laten zien dat je echt, echt 626 00:38:05,260 --> 00:38:08,180 beginnen dingen sneller bewerken, zeker als je al deze verschillende gebieden, 627 00:38:08,180 --> 00:38:10,620 en normaal wat je zou kunnen doen is een soort van het klikken 628 00:38:10,620 --> 00:38:13,530 en het benadrukken en vervolgens te typen. 629 00:38:13,530 --> 00:38:18,530 U kunt alles in een keer, kopiëren en plakken, 630 00:38:18,530 --> 00:38:21,640 op en neer bewegen tussen de file, 631 00:38:21,640 --> 00:38:24,060 net afbakenen spul, opmaak spul. 632 00:38:24,060 --> 00:38:29,670 Dit alles kan veel, veel sneller worden gedaan in Vim. 633 00:38:29,670 --> 00:38:32,580 >> Nog een laatste dingetje waarvan ik denk dat kan echt leuk zijn, 634 00:38:32,580 --> 00:38:34,820 dat wordt zoeken en vervangen. 635 00:38:34,820 --> 00:38:36,460 Degenen onder jullie die Gmail sneltoetsen hebben gebruikt 636 00:38:36,460 --> 00:38:41,050 zul je ook weten dat als je typt / stuurt u naar het zoekvak, 637 00:38:41,050 --> 00:38:44,210 en in veel verschillende toepassingen in het algemeen zul je merken dat slash vinden 638 00:38:44,210 --> 00:38:47,300 of misschien beheersen slash of iets te maken met slash 639 00:38:47,300 --> 00:38:49,870 zal je in een soort van zoekmodus 640 00:38:49,870 --> 00:38:53,240 en dat komt ook in principe van Vim wezen 641 00:38:53,240 --> 00:38:58,670 omdat de slash exploitant of de slash commando kunt u invoeren 642 00:38:58,670 --> 00:39:01,770 een soort van string die u kunt gebruiken om te zoeken in het document. 643 00:39:01,770 --> 00:39:05,350 U kunt n en kapitaal N om naar de volgende en de vorige overeenkomst, 644 00:39:05,350 --> 00:39:10,700 en je kunt ook iets dergelijks gebruiken om te zoeken en te vervangen in het document. 645 00:39:10,700 --> 00:39:15,060 Ik geef je een demonstratie op wat kan worden gedaan geven. 646 00:39:15,060 --> 00:39:18,200 >> Misschien als ik wil alle exemplaren van de string yank in dit document te vinden 647 00:39:18,200 --> 00:39:23,310 Ik kan typen in / yank, zoals je kunt zien in de linkerbenedenhoek, 648 00:39:23,310 --> 00:39:26,350 en als ik typ in te voeren wijst hij op alle instanties. 649 00:39:26,350 --> 00:39:34,160 Ik kan in principe n om heen en weer springen tussen al deze verschillende gevallen 650 00:39:34,160 --> 00:39:40,420 en stel dat ik wil zoeken en vervangen yank met een aantal willekeurig woord 651 00:39:40,420 --> 00:39:42,180 die ook in het document. 652 00:39:42,180 --> 00:39:47,070 Ik kan drukken: om te beginnen met typen in een soort van opdracht in Vim, 653 00:39:47,070 --> 00:39:49,610 een aantal commando's dat is meer geavanceerd dan bewegen 654 00:39:49,610 --> 00:39:51,370 of verwijderen of iets dergelijks. 655 00:39:51,370 --> 00:39:56,860 Ik zal het type in het%-teken om te verwijzen dat ik wil deze substitutie commando te gebruiken 656 00:39:56,860 --> 00:39:58,230 op het gehele document. 657 00:39:58,230 --> 00:40:02,380 Typ in s voor vervanging. Dit komt uit PEARL wezen. 658 00:40:02,380 --> 00:40:07,040 En deze volgende opdracht is een vrij standaard commando dat je in PEARL vindt 659 00:40:07,040 --> 00:40:09,790 plaats en in andere programmeertalen die u zult 660 00:40:09,790 --> 00:40:13,170 waarschijnlijk beginnen te leren als jij meer informatica, 661 00:40:13,170 --> 00:40:20,130 en ik kan in principe gebruik maken van / naar een /, typ typ het woord wil ik zoeken en vervangen 662 00:40:20,130 --> 00:40:24,280 en typ een andere / en typ wat word ik wil dat woord vervangen. 663 00:40:24,280 --> 00:40:27,450 Wie weet, misschien NyanCat. 664 00:40:27,450 --> 00:40:30,390 Ik dat doen, en dan zul je zien dat alles werd vervangen. 665 00:40:30,390 --> 00:40:34,000 >> Maar je zult zien dat er zich dit woord hier. 666 00:40:34,000 --> 00:40:37,620 Om een ​​of andere reden een aantal van onze gevallen van yank worden vervangen, maar niet alle, 667 00:40:37,620 --> 00:40:40,250 en dat komt omdat de manier waarop heeft dit soort taal geschreven 668 00:40:40,250 --> 00:40:43,550 niet alleen in Vim, maar op andere plaatsen is dat wanneer je de substitutie opdracht uitvoeren 669 00:40:43,550 --> 00:40:46,470 het zal alleen vervangen de eerste instantie van dat woord in elke lijn, 670 00:40:46,470 --> 00:40:52,810 dus als ik wil eigenlijk vervangen alle exemplaren van het woord op elke lijn 671 00:40:52,810 --> 00:40:56,890 dan moet ik hetzelfde doen maar voeg ag vlag aan het einde, 672 00:40:56,890 --> 00:41:00,810 wat staat voor globale, en dan is dat ook daadwerkelijk 673 00:41:00,810 --> 00:41:06,200 vervangen alle gevallen. 674 00:41:06,200 --> 00:41:09,710 En als je eenmaal leert de reguliere expressies, is er eigenlijk een CS50 seminar 675 00:41:09,710 --> 00:41:12,120 op reguliere expressies, dus als je benieuwd naar reguliere expressies zijn 676 00:41:12,120 --> 00:41:16,970 kunt u ook het seminar en leer meer. 677 00:41:16,970 --> 00:41:19,920 >> Maar bijvoorbeeld, laten we zeggen dat ik een lijst met namen als dit, 678 00:41:19,920 --> 00:41:23,920 en ik wil het herschikken, dus in plaats van het hebben van achternaam, komma, voornaam 679 00:41:23,920 --> 00:41:27,490 Ik wil het herschikken zodat het voornaam, ruimte, achternaam zegt. 680 00:41:27,490 --> 00:41:30,750 Hiermee kunt u via deze opdracht hier 681 00:41:30,750 --> 00:41:33,600 in wezen dat voor u doen, zodat je hier kunt zien 682 00:41:33,600 --> 00:41:37,170 we beginnen met een s, wat betekent dat we willen een vondst te doen en te vervangen, 683 00:41:37,170 --> 00:41:42,970 en toen voegde ik een vlag genaamd \ v, dat is zoiets als deze magische vlag 684 00:41:42,970 --> 00:41:45,810 in Vim waarmee u reguliere expressies meer gemakkelijk doen. 685 00:41:45,810 --> 00:41:49,370 Dan vanaf daar zijn we in essentie overeen voor een enkele lijn 686 00:41:49,370 --> 00:41:55,960 dat is van de vorm van een reeks woorden, komma, spatie, en een reeks woorden of een reeks brieven. 687 00:41:55,960 --> 00:41:59,240 \ W + betekent in feite een of meer tekens, 688 00:41:59,240 --> 00:42:04,030 en haakjes gebruikt om deze groepen te vangen 689 00:42:04,030 --> 00:42:06,120 zodat ik later naar verwijzen. 690 00:42:06,120 --> 00:42:09,910 Zoals je kunt zien, zodra deze capture 2 blokken van woorden 691 00:42:09,910 --> 00:42:11,690 die worden gescheiden door een komma, spatie 692 00:42:11,690 --> 00:42:15,510 dan wat we willen deze vervangen door is Ik gebruik \ 2 en \ 1 693 00:42:15,510 --> 00:42:18,130 om terug te verwijzen naar de woorden die werden gevangen 694 00:42:18,130 --> 00:42:20,950 in de feitelijke find commando, 695 00:42:20,950 --> 00:42:24,970 en zo \ 2 verwijst naar wat er in de tweede set haakjes, 696 00:42:24,970 --> 00:42:28,140 \ 1 verwijst naar wat er in de eerste set haakjes, 697 00:42:28,140 --> 00:42:31,680 en zoals je kunt zien, ik ben om 2 voor 1 gescheiden door een spatie 698 00:42:31,680 --> 00:42:36,650 om te proberen en zet de eerste naam voor de laatste naam. 699 00:42:36,650 --> 00:42:38,380 Is dat logisch? 700 00:42:38,380 --> 00:42:43,450 >> En wat ik kan doen is dat ik kan verbergen deze eerste dus ik draaien alleen deze opdracht op deze lijnen, 701 00:42:43,450 --> 00:42:53,720 en dan zal ik typ in deze opdracht. 702 00:42:53,720 --> 00:42:57,050 U kunt zien dat het precies zo verdeeld. 703 00:42:57,050 --> 00:42:59,400 En nogmaals, dit is nauwelijks krassen op het oppervlak, 704 00:42:59,400 --> 00:43:03,020 en als je naar de reguliere expressie seminar dan ben ik zeker dat je leert 705 00:43:03,020 --> 00:43:05,070 veel meer verschillende dingen die je kunt doen met reguliere expressies, 706 00:43:05,070 --> 00:43:08,910 en dit begint in principe te zinspelen op wat je echt kunt doen met Vim 707 00:43:08,910 --> 00:43:10,850 als je echt beginnen met een meester van te worden. 708 00:43:10,850 --> 00:43:14,520 Misschien wilt u iets refactoren, en je wilt alle instanties vinden 709 00:43:14,520 --> 00:43:16,980 van een functie die een soort van naamgeving patroon volgt. 710 00:43:16,980 --> 00:43:18,570 U wilt de manier waarop dat is vernoemd veranderen. 711 00:43:18,570 --> 00:43:21,140 Je kunt een soort van commando als dit om dat voor u te schrijven, 712 00:43:21,140 --> 00:43:23,850 en dat is het soort flexibiliteit die u kunt krijgen binnen Vim 713 00:43:23,850 --> 00:43:30,210 dat je gewoon niet van plan in andere tekstverwerkers te krijgen. 714 00:43:30,210 --> 00:43:34,830 >> Dat heeft voornamelijk betrekking op alle dingen die ik wilde je leren vandaag in seminar van vandaag, 715 00:43:34,830 --> 00:43:38,580 maar nogmaals, ik wil echt benadrukken dat als je wilt ophalen Vim 716 00:43:38,580 --> 00:43:42,120 Het is waar dat er een iets hogere leercurve in het begin. 717 00:43:42,120 --> 00:43:44,230 In het begin zul je iets minder productief zijn 718 00:43:44,230 --> 00:43:47,010 dan u waarschijnlijk anders zou zijn, maar als je de stok met het 719 00:43:47,010 --> 00:43:49,890 binnen een paar dagen of een paar weken, afhankelijk van hoe snel je leert, 720 00:43:49,890 --> 00:43:56,300 je zult veel geworden, veel sneller, en ik heb geprobeerd om u een demonstratie te geven 721 00:43:56,300 --> 00:43:59,070 over wat Vim in staat is, maar ik heb niet echt een kans om te laten zien krijgen 722 00:43:59,070 --> 00:44:03,230 wat er gebeurt als ik normaal, bijvoorbeeld in de klas type I in mijn notities met Vim. 723 00:44:03,230 --> 00:44:07,920 Dat komt omdat ik zo veel sneller in Vim dan ik kan werken met een ander programma. 724 00:44:07,920 --> 00:44:14,480 Het is letterlijk een 2 of 3 keer productiviteitsverhoging Vim in vergelijking met andere programma's, 725 00:44:14,480 --> 00:44:18,800 niet alleen met de snelheid van tekstverwerking, maar ook in de manier waarop ik kan rond het document verplaatsen 726 00:44:18,800 --> 00:44:21,510 en de manier waarop ik kan toegang tot andere bestanden op mijn computer 727 00:44:21,510 --> 00:44:23,110 en springen tussen enzovoort, enzovoort. 728 00:44:23,110 --> 00:44:27,600 Het is gewoon een heel, heel groot productiviteit boost. 729 00:44:27,600 --> 00:44:30,550 >> Maar als je aan het leren bent, wilt u ervoor zorgen dat u een ding te leren op een moment, 730 00:44:30,550 --> 00:44:34,970 en probeer jezelf niet te overweldigen met te veel verschillende opdrachten 731 00:44:34,970 --> 00:44:39,090 want er zijn een heleboel commando's en een heleboel verschillende snelkoppelingen die u kunt leren in Vim. 732 00:44:39,090 --> 00:44:41,780 U wilt een kleine pick-up in een tijd en door de jaren heen 733 00:44:41,780 --> 00:44:48,990 geleidelijk vergaren van een groter en groter begrip van Vim. 734 00:44:48,990 --> 00:44:51,790 Als u verder wilt gaan om meer te leren, dit zijn enkele van de meer geavanceerde onderwerpen 735 00:44:51,790 --> 00:44:55,900 je kunt blijven leren over, en zelfs dit nauwelijks topje van de ijsberg. 736 00:44:55,900 --> 00:44:59,050 Hier zijn een aantal populaire plugins kun je vrij om te controleren en Google hen het gevoel 737 00:44:59,050 --> 00:45:03,750 en spelen met hen als u wilt en gewoon zien wat voor soort plugins die er zijn. 738 00:45:03,750 --> 00:45:06,260 En dan aan het eind van deze PowerPoint, omvat ik een bos van verbindingen 739 00:45:06,260 --> 00:45:08,740 naar verschillende middelen die u kunt gebruiken om te leren van. 740 00:45:08,740 --> 00:45:12,700 Hier zijn een heleboel verschillende links die u kunt gebruiken om te beginnen met Vim. 741 00:45:12,700 --> 00:45:15,150 Ze hebben verschillende tutorials en wat al niet, 742 00:45:15,150 --> 00:45:17,770 en tot slot, dit zijn enkele meer geavanceerde dingen die je kunt gebruiken 743 00:45:17,770 --> 00:45:19,790 ook om te controleren als goed, 744 00:45:19,790 --> 00:45:22,340 sommige screen casts en sommige meer geavanceerde technieken in Vim 745 00:45:22,340 --> 00:45:26,450 en ook een aantal verschillende delen van de broncode kunt u opzoeken op GitHub 746 00:45:26,450 --> 00:45:28,760 alleen maar te kijken naar andere mensen configuratiebestanden 747 00:45:28,760 --> 00:45:32,710 of om te kijken naar plugins in Vim en zo verder en zo voort. 748 00:45:32,710 --> 00:45:40,380 >> Dat is alles wat ik voor je heb. 749 00:45:40,380 --> 00:45:43,000 [CS50.TV]