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 [Dette er CS50.] [CS50.TV] 4 00:00:07,500 --> 00:00:09,880 >> I dag bliver en introduktion til Vim. 5 00:00:09,880 --> 00:00:12,310 Hvor mange af jer har hørt om Vim? 6 00:00:12,310 --> 00:00:15,620 Hvad har du hørt om Vim? 7 00:00:15,620 --> 00:00:17,590 [Studerende] Det løser alle dine problemer. 8 00:00:17,590 --> 00:00:19,450 [Brandon L.] Det løser alle dine problemer. 9 00:00:19,450 --> 00:00:23,840 Alt andet du fyre har hørt om Vim? Ingen visninger? 10 00:00:23,840 --> 00:00:27,990 [Studerende] Næsten alle jeg har talt med folk til at bruge Vim. 11 00:00:27,990 --> 00:00:29,960 Åh, søde. 12 00:00:29,960 --> 00:00:31,090 [Studerende] En masse mennesker jeg kender kan lide at bruge Vim. 13 00:00:31,090 --> 00:00:35,050 Okay, det er godt, fordi en masse mennesker i CS51 14 00:00:35,050 --> 00:00:38,000 begynde at hente Emacs fordi Emacs har lidt bedre støtte 15 00:00:38,000 --> 00:00:40,100 for det sprog, du vil bruge i CS51, 16 00:00:40,100 --> 00:00:42,770 og jeg bange for, at ikke nok folk på Harvard bruger Vim, 17 00:00:42,770 --> 00:00:46,190 så jeg virkelig forsøge at gøre et godt stykke arbejde for at tilskynde Vim brug. 18 00:00:46,190 --> 00:00:51,110 >> Men her er et klassisk xkcd tegneserie som jer måske vil finde interessant. 19 00:00:51,110 --> 00:00:53,800 Har du fyre brugte Nano før overhovedet? 20 00:00:53,800 --> 00:00:57,380 Denne tegneserie siger Nano? Rigtige programmører bruger Emacs. 21 00:00:57,380 --> 00:00:59,040 Hey, reelle programmører bruger Vim. 22 00:00:59,040 --> 00:01:03,130 Nej, rigtige programmører bruger Ed, som er dette, du ikke nogensinde ønsker at bruge Ed. 23 00:01:03,130 --> 00:01:05,990 Det er virkelig, virkelig gamle og virkelig dårlig, og reelle programmører bruger 24 00:01:05,990 --> 00:01:08,440 en magnetiseret nål og en rolig hånd. 25 00:01:08,440 --> 00:01:16,010 Og du kan læse resten, men det er temmelig morsomt. 26 00:01:16,010 --> 00:01:18,320 Og det sjove er i slutningen. 27 00:01:18,320 --> 00:01:20,310 De siger: "Åh, ja, selvfølgelig, er der en Emacs kommando til at gøre." 28 00:01:20,310 --> 00:01:25,050 Gode ​​gamle Cx Mc M-sommerfugl, som er en slags en jab på Emacs 29 00:01:25,050 --> 00:01:28,520 fordi Emacs er historisk kendt for at være en lille smule oppustet 30 00:01:28,520 --> 00:01:32,310 og til at få kommandoer til næsten alt, så det er en slags vittighed til Emacs. 31 00:01:32,310 --> 00:01:35,320 >> Hvad er Vim? Vim er en avanceret teksteditor for programmører. 32 00:01:35,320 --> 00:01:40,040 Jeg virkelig ønsker at gøre sondringen mellem tekst editor 33 00:01:40,040 --> 00:01:42,000 og noget som et dokument processor. 34 00:01:42,000 --> 00:01:44,340 Microsoft Word er kendt som et dokument processor. 35 00:01:44,340 --> 00:01:49,090 Du kan indstille margener, gøre tingene fed, understregning ting, 36 00:01:49,090 --> 00:01:51,480 strejke igennem ting, ændre skriftstørrelse og whatnot. 37 00:01:51,480 --> 00:01:54,380 En tekst editor gør intet mere end bare at redigere tekst. 38 00:01:54,380 --> 00:01:56,020 Bogstaveligt du bare nødt tegn. 39 00:01:56,020 --> 00:02:01,650 Der er ingen form for styling, størrelser, skrifttyper, farver, eller noget lignende. 40 00:02:01,650 --> 00:02:06,360 Alt du skal gøre er redigere tekst, og Vim er specielt lavet til programmering. 41 00:02:06,360 --> 00:02:09,240 Det har en masse funktioner indbygget i bare for programmering. 42 00:02:09,240 --> 00:02:11,360 Det er designet specielt til effektiv tekstredigering. 43 00:02:11,360 --> 00:02:15,190 >> Generelt Vim kendt for at være stort set den hurtigste tekst editor 44 00:02:15,190 --> 00:02:19,110 du kan eventuelt bruge sammenlignes med en anden tekst editor, der er muligt. 45 00:02:19,110 --> 00:02:22,480 En masse af IDE-lignende funktioner er ikke bygget direkte ind i Vim, 46 00:02:22,480 --> 00:02:26,850 så hvis du har brugt en IDE og du er vant til ting som kompilere og køre automatisk 47 00:02:26,850 --> 00:02:30,880 eller debugging hvad der er i din IDE eller en hel række forskellige ting 48 00:02:30,880 --> 00:02:32,290 Vim kommer ikke med det naturligt, 49 00:02:32,290 --> 00:02:36,330 men der er en hel række plugins, som du kan bruge til at tilføje den slags funktionalitet til Vim. 50 00:02:36,330 --> 00:02:40,890 Vim sig selv fokuserer på tekst redigering og gør tekstredigering virkelig, virkelig godt. 51 00:02:40,890 --> 00:02:43,340 Og endelig, det er virkelig tilpasses og udvides, 52 00:02:43,340 --> 00:02:48,740 og dybest set Vim har eksisteret, eller VI, der Vim er bygget på, 53 00:02:48,740 --> 00:02:53,790 har eksisteret i over 40 år, og det er en meget, meget dyb program, 54 00:02:53,790 --> 00:02:58,850 og folk vil bruge det til en levetid og aldrig rigtig mestre program til sin fulde, 55 00:02:58,850 --> 00:03:01,530 og du vil altid fortsætte med at lære hele dit liv i årenes løb, 56 00:03:01,530 --> 00:03:03,390 altid blive bedre og bedre. 57 00:03:03,390 --> 00:03:07,480 >> Der er dybest set ingen ende på, hvad du kan lære og hvor meget du kan forbedre med Vim, 58 00:03:07,480 --> 00:03:09,300 som er virkelig spændende. 59 00:03:09,300 --> 00:03:12,730 Du ønsker ikke at se det som noget skræmmende, fordi du kan blive meget, meget dygtige 60 00:03:12,730 --> 00:03:16,650 i Vim på blot et par uger, men det er lidt ligesom en kontinuerlig- 61 00:03:16,650 --> 00:03:18,870 du kan altid lære mere og lære mere og gøre tingene bedre og bedre, 62 00:03:18,870 --> 00:03:20,880 som er form for spændende for mig. 63 00:03:20,880 --> 00:03:23,810 Dette er et eksempel på, hvad Vim ser ud. 64 00:03:23,810 --> 00:03:27,630 Dette er ikke min. Du vil se nogle levende demonstrationer lige nu. 65 00:03:27,630 --> 00:03:29,350 Dette er et eksempel på, hvad Vim kunne se ud. 66 00:03:29,350 --> 00:03:33,590 >> Hvad vi kommer til at gøre i dag er, at vi kommer til at starte med 67 00:03:33,590 --> 00:03:35,260  en hurtig præsentation af hvad Vim kan gøre. 68 00:03:35,260 --> 00:03:39,040 Jeg har tænkt mig at gøre nogle tricks og whatnot til jer 69 00:03:39,040 --> 00:03:43,020 så du kan se, hvorfor jeg gerne Vim så meget, og hvorfor folk som Vim så meget, 70 00:03:43,020 --> 00:03:46,470 og så derfra vil vi gå ind i en blid introduktion. 71 00:03:46,470 --> 00:03:49,530 Faktisk vil det være lidt hurtig, en introduktion til Vim. 72 00:03:49,530 --> 00:03:53,410 Jeg vil bede jer at hente en tekstfil og til at følge med mig, hvis du kan. 73 00:03:53,410 --> 00:03:58,080 Dette er Vim, og lige her jeg bruger MacVim, 74 00:03:58,080 --> 00:04:00,520 så hvis du fyre har Macs kan du overveje at bruge MacVim 75 00:04:00,520 --> 00:04:04,210 fordi det er en grafisk udgave af Vim, selv om regelmæssig Vim, 76 00:04:04,210 --> 00:04:06,210 hvad der er i din kommandolinje, fungerer fint. 77 00:04:06,210 --> 00:04:09,890 Jeg har tænkt mig at vise dig et par tilfældige tips og tricks 78 00:04:09,890 --> 00:04:15,330 som du kan bruge i Vim at vise dig, hvorfor det er så cool. 79 00:04:15,330 --> 00:04:18,940 >> Bare et par tilfældige ting jeg har tænkt mig at gå igennem. 80 00:04:18,940 --> 00:04:21,700 Den første ting er tekstobjekter, og der er et par kommandoer omkring tekstobjekter 81 00:04:21,700 --> 00:04:25,010 og jeg vil faktisk lære dig, hvad tekst objekter er mere detaljeret senere i seminaret, 82 00:04:25,010 --> 00:04:30,050 men for eksempel, lad os sige jeg stavet mit navn forkert, 83 00:04:30,050 --> 00:04:32,380 Barndon Liu, og jeg ønsker at ændre det. 84 00:04:32,380 --> 00:04:36,140 Alt, hvad jeg skal gøre er at få min markøren et sted i mit navn og type på kommandolinjen 85 00:04:36,140 --> 00:04:38,900 CIW, og det vil slette hele mit navn, sætte mig i insert mode 86 00:04:38,900 --> 00:04:41,050 og jeg kan skrive mit navn og ordne det. 87 00:04:41,050 --> 00:04:45,550 Tilsvarende, hvis jeg ønsker at ændre noget inde citater er der også en kommando til det. 88 00:04:45,550 --> 00:04:47,330 Jeg kan slette ting inde citater. 89 00:04:47,330 --> 00:04:50,260 Ikke mere at skulle dobbeltklikke på, flytte hånden over på musen, 90 00:04:50,260 --> 00:04:52,230 dobbeltklik, og skriv derefter noget igen 91 00:04:52,230 --> 00:05:02,000 Du kan gøre alt fra tastaturet, uanset hvad det er. 92 00:05:02,000 --> 00:05:06,430 Eller alternativt, lad os sige, at jeg har billedet tag inde i denne anker tag. 93 00:05:06,430 --> 00:05:08,160 >> Har du fyre dækket HTML i klassen endnu? 94 00:05:08,160 --> 00:05:10,570 Ja, så måske jeg vil slette denne tag, 95 00:05:10,570 --> 00:05:13,080 som normalt, hvad du skal gøre, er du nødt til at bruge din mus 96 00:05:13,080 --> 00:05:16,040 og omhyggeligt fremhæve præcis, hvad du ønsker at slette og slette den. 97 00:05:16,040 --> 00:05:21,320 Men i Vim, der er simpelthen DIT, og du kan slette det ud virkelig hurtigt, 98 00:05:21,320 --> 00:05:28,020 og jeg vil forklare dig, hvad alle disse kommandoer betyder, og hvordan du bruger dem i en anden. 99 00:05:28,020 --> 00:05:30,320 Et andet eksempel, jeg har noget kode her, 100 00:05:30,320 --> 00:05:33,640 og lad os sige, jeg ønsker at indrykke kode, men jeg vil indrykke koden 101 00:05:33,640 --> 00:05:39,940 blot i parentes, og jeg kan også indrykke kode ved hjælp af 3-kommandoer 102 00:05:39,940 --> 00:05:45,360 hjælp dybest set> iB. 103 00:05:45,360 --> 00:05:49,960 En anden ting, der er virkelig cool om Vim er noget der hedder visuel blok redigering. 104 00:05:49,960 --> 00:05:52,380 Jeg ved ikke, hvis du fyre nogensinde har ønsket at fremhæve 105 00:05:52,380 --> 00:05:55,690 en rektangulær blok af tekst i din kode til tider 106 00:05:55,690 --> 00:06:00,570 i stedet for at skulle gøre denne underlige slags linje ting, der spænder over alle de forskellige linjer. 107 00:06:00,570 --> 00:06:02,450 For eksempel i Vim kan du gøre det. 108 00:06:02,450 --> 00:06:05,260 Jeg kan fremhæve rektangler som dette, hvilket er ret cool, 109 00:06:05,260 --> 00:06:07,950 men desuden kan jeg redigere ved hjælp af denne funktionalitet. 110 00:06:07,950 --> 00:06:12,050 For eksempel, hvis jeg ønsker at give en form for præfiks til alle vores navne 111 00:06:12,050 --> 00:06:18,100 Jeg kan fremhæve en blok og derefter tilføje noget. 112 00:06:18,100 --> 00:06:22,060 >> Ligeledes kan jeg også fremhæve denne blok og vælger at slette det, 113 00:06:22,060 --> 00:06:26,300 eller måske vil jeg fremhæve denne blok og ændre det til D, fordi vi er alle læger. 114 00:06:26,300 --> 00:06:29,430 Uanset hvad det er, kan du gøre alle disse forskellige ting. 115 00:06:29,430 --> 00:06:31,270 Endelig foldning er virkelig cool. 116 00:06:31,270 --> 00:06:33,840 En masse af IDE'er har denne, hvor man kan folde forskellige funktioner ud af visningen 117 00:06:33,840 --> 00:06:35,590 hvis du ikke ønsker at se dem. 118 00:06:35,590 --> 00:06:40,120 For eksempel antage, jeg har denne masse tekst her, og jeg har ikke rigtig lyst til at se det. 119 00:06:40,120 --> 00:06:42,710 Jeg ønsker at holde det ude af betragtning, fordi jeg redigerer noget andet i filen. 120 00:06:42,710 --> 00:06:50,580 Jeg kan folde den op, så det hele er brudt sammen, 121 00:06:50,580 --> 00:06:52,150 og på den måde det er ude af syne, 122 00:06:52,150 --> 00:06:54,310 og jeg kan redigere andre ting, der er på siden, og det er virkelig stor. 123 00:06:54,310 --> 00:06:57,550 Du kan folde op funktioner og whatnot eller folde op klasser, når du programmerer 124 00:06:57,550 --> 00:06:59,380 bare for at holde dem ude af syne, når du ikke redigere dem, 125 00:06:59,380 --> 00:07:04,330 og senere, når du ønsker at se dem, kan du åbne dem op. 126 00:07:04,330 --> 00:07:09,260 Og du kan se det lige har åbnet det hele op. 127 00:07:09,260 --> 00:07:11,220 Faner, buffere og vinduer. 128 00:07:11,220 --> 00:07:13,260 Vim er ret cool i at 129 00:07:13,260 --> 00:07:16,280 normalt i en masse teksteditorer kan du kun redigere en fil ad gangen, 130 00:07:16,280 --> 00:07:18,960 ligesom i Nano, eller måske hvis du bruger Notesblok eller Gedit. 131 00:07:18,960 --> 00:07:21,470 Jeg har faktisk aldrig brugt Gedit meget, men mindst i Notepad + + 132 00:07:21,470 --> 00:07:26,700 du kan have faner, men Vim har begrebet faner, buffere og vinduer. 133 00:07:26,700 --> 00:07:28,760 For eksempel kan du åbne op for en masse nye faner. 134 00:07:28,760 --> 00:07:31,790 >> Du kan se her på toppen Jeg har nu en masse faner 135 00:07:31,790 --> 00:07:34,350 og jeg kan lukke dem. 136 00:07:34,350 --> 00:07:37,550 Desuden er der dette koncept af buffere, 137 00:07:37,550 --> 00:07:40,110 hvilket er den idé, at når du har åbnet en fil 138 00:07:40,110 --> 00:07:43,910 det forbliver i live i bufferen, og hvis du ønsker at navigere til filen virkelig hurtigt 139 00:07:43,910 --> 00:07:46,290 du kan navigere til det virkelig hurtigt inden bufferen så godt, 140 00:07:46,290 --> 00:07:51,890 og desuden inden for en rude kan du også opdele dit vindue op i flere vinduer. 141 00:07:51,890 --> 00:07:55,890 For eksempel, hvis jeg ønsker at opdele vinduet op i flere vinduer 142 00:07:55,890 --> 00:08:00,080 du kan se lige her, at jeg kan have den samme kode to gange, 143 00:08:00,080 --> 00:08:03,800 og jeg kan opdele mere og mere og mere, og lige nu er det ikke ser, at god 144 00:08:03,800 --> 00:08:07,340 fordi som standard Jeg har den standard vinduesstørrelse være slags stor 145 00:08:07,340 --> 00:08:09,490 så alle de andre er knust ud, 146 00:08:09,490 --> 00:08:12,000 men normalt når jeg er på min computer og ikke på denne projektor 147 00:08:12,000 --> 00:08:15,920 Jeg kan have flere ruder åbne på samme tid, hvilket er virkelig rart for 148 00:08:15,920 --> 00:08:21,450 redigering af flere filer på samme tid. 149 00:08:21,450 --> 00:08:23,800 Du kan også have ting som at vælge og udskifte, 150 00:08:23,800 --> 00:08:27,900 og vi vil faktisk dække det i seminaret, 151 00:08:27,900 --> 00:08:29,250 så jeg vil springe over, at for nu. 152 00:08:29,250 --> 00:08:32,039 Du kan også interagere med kommandolinjen i alle mulige forskellige måder. 153 00:08:32,039 --> 00:08:36,380 For eksempel, jeg hvis jeg har en slags liste her og ønsker at sortere det- 154 00:08:36,380 --> 00:08:43,039 Jeg ved det ikke, lad os tilføje en anden frugt, drue, 155 00:08:43,039 --> 00:08:45,450 og jeg kan fremhæve dette ved hjælp af highlight funktionen 156 00:08:45,450 --> 00:08:48,980 og kalder sortere, og det vil sortere det automatisk for mig. 157 00:08:48,980 --> 00:08:52,150 >> Tilsvarende, hvis du kommer til at redigere CSS, som jeg formoder du sandsynligvis vil gøre 158 00:08:52,150 --> 00:08:54,190 for dit afgangsprojekt, de fleste mennesker gør, 159 00:08:54,190 --> 00:09:00,200 og måske du vil beholde din CSS organiseret ved at sortere dem i alfabetisk rækkefølge. 160 00:09:00,200 --> 00:09:04,410 Du kan også markere dem og kalde sortere, og det vil sortere dem for dig. 161 00:09:04,410 --> 00:09:07,380 Disse er nogle af de eksempler på de ting, Vim kan gøre, 162 00:09:07,380 --> 00:09:10,760 og du vil opdage, at den vigtigste ting, som jeg virkelig ønsker at gøre opmærksom på 163 00:09:10,760 --> 00:09:14,740 er, at jeg gør alt fra tastaturet, 164 00:09:14,740 --> 00:09:18,020 og hvis du er i stand til at se, hvor mine hænder er placeret 165 00:09:18,020 --> 00:09:21,210 vil du også se, at mine hænder aldrig rigtig flytte fra hjemmet rækken. 166 00:09:21,210 --> 00:09:24,790 Normalt når du redigerer tekst, du normalt nødt til at bruge en mus 167 00:09:24,790 --> 00:09:28,030 og klikke rundt og whatnot, og slags bevægelse trækker dig ned 168 00:09:28,030 --> 00:09:32,280 og spild af tid, eller måske du flytter mellem hjemmeholdets række og piletasterne, 169 00:09:32,280 --> 00:09:35,620 og så du er ved at flytte frem og tilbage som det, der er en smule besværligt 170 00:09:35,620 --> 00:09:38,750 men også bremser dig ned, og de ting er, når du får rigtig god til Vim 171 00:09:38,750 --> 00:09:42,350 alt, hvad du ønsker at gøre, er gjort uden at skulle flytte hænderne 172 00:09:42,350 --> 00:09:50,730 fra hjemmet rækken, som er fantastisk. 173 00:09:50,730 --> 00:09:54,870 Hold på, jeg kommer til at åbne op denne ansøgning. Der vi går. 174 00:09:54,870 --> 00:09:58,320 >> Nu kan du se, hvilke kommandoer der kører ned i det nederste højre vindue. 175 00:09:58,320 --> 00:10:03,190 Alle de funktioner, jeg bare viste dig er ting, der er inkluderet som standard med Vim, 176 00:10:03,190 --> 00:10:06,820 men der er også et stort antal af plugins, som du også kan bruge 177 00:10:06,820 --> 00:10:08,390 at forbedre din Vim oplevelse. 178 00:10:08,390 --> 00:10:10,540 Hvis du hentede konfigurationsfiler, som jeg inkluderet, 179 00:10:10,540 --> 00:10:13,150 og der er vejledning i at installere dem i PowerPoint 180 00:10:13,150 --> 00:10:17,840 og også i den e-mail jeg sendte ud, har jeg omkring 40 plugins installeret 181 00:10:17,840 --> 00:10:20,490 eller måske 30 plugins, og hver enkelt 182 00:10:20,490 --> 00:10:24,000 bringer ekstra funktionalitet til Vim, der forbedrer din Vim oplevelse. 183 00:10:24,000 --> 00:10:26,960 For eksempel er en af ​​mine favoritter er noget der hedder surround.vim, 184 00:10:26,960 --> 00:10:29,760 og det dybest set giver dig mulighed for at arbejde med omgivende 185 00:10:29,760 --> 00:10:32,200 eller afgrænsende tegn meget lettere. 186 00:10:32,200 --> 00:10:35,960 >> Et eksempel, jeg ved ikke, hvis du fyre nogensinde kode i LaTeX, 187 00:10:35,960 --> 00:10:38,830 men Latex er en matematisk opsætning sprog, der bruges til at 188 00:10:38,830 --> 00:10:42,950 virkelig flot matematik, og når du vil have noget til at ligne matematik 189 00:10:42,950 --> 00:10:47,050 du pakke det i dollartegn, og lad os sige, jeg skriver nogle ligning som F = ma, 190 00:10:47,050 --> 00:10:49,240 og jeg glemte at pakke det i dollartegn. 191 00:10:49,240 --> 00:10:58,270 Så kan jeg fremhæve dette og pak det ind i dollartegn ligesom det. 192 00:10:58,270 --> 00:11:03,640 Alternativt Vim giver dig mulighed for at slette ting inde tags 193 00:11:03,640 --> 00:11:07,300 og slette tags og whatnot, men Vim af natur 194 00:11:07,300 --> 00:11:10,400 ikke tillader dig at ændre tags, så for eksempel, jeg har denne div tag, 195 00:11:10,400 --> 00:11:13,060 og jeg ønsker at opgradere til HTML5 og bruge en ny header tag. 196 00:11:13,060 --> 00:11:22,290 Jeg kan gøre forandringer omkring tag og type i header, 197 00:11:22,290 --> 00:11:26,540 og det vil automatisk ændre det for mig. 198 00:11:26,540 --> 00:11:29,620 Ligeledes lad os sige vi har noget i parentes, 199 00:11:29,620 --> 00:11:33,230 og jeg ønskede at ændre det fra parentes i parentes eller noget lignende. 200 00:11:33,230 --> 00:11:36,520 Jeg kan også ændre, der virkelig nemt ved at skrive i C for forandring, 201 00:11:36,520 --> 00:11:39,330 s for surround, parenteser. 202 00:11:39,330 --> 00:11:42,170 Åh, jeg tror jeg nødt til at skrive det hurtigere. 203 00:11:42,170 --> 00:11:45,380 Parenteser og seler eller beslag, og det vil automatisk ændre det for mig, 204 00:11:45,380 --> 00:11:48,570 som er virkelig rart, ellers normalt er det virkelig besværligt. 205 00:11:48,570 --> 00:11:51,310 >> Dette er virkelig rart at skifte mellem måske enkelt citat 206 00:11:51,310 --> 00:11:53,060 og dobbelt citerer strenge eller noget lignende. 207 00:11:53,060 --> 00:11:56,250 Det er et eksempel use case. 208 00:11:56,250 --> 00:11:58,750 Der er et plugin kaldet Fugitive 209 00:11:58,750 --> 00:12:00,260 der integrerer med Git. 210 00:12:00,260 --> 00:12:03,000 Jeg kan gætte måske du fyre har ikke brugt Git så meget i CS50, 211 00:12:03,000 --> 00:12:05,530 men du vil finde dig selv at bruge Git mere og mere og mere, 212 00:12:05,530 --> 00:12:09,530 ikke kun i klasser hele Harvard, men også på arbejdspladser og whatnot, 213 00:12:09,530 --> 00:12:12,650 og normalt du nødt til at skifte frem og tilbage mellem 214 00:12:12,650 --> 00:12:15,950 kommandolinjen og Vim at interagere med Git, 215 00:12:15,950 --> 00:12:18,590 men der er plugins til at integrere med Git indefra Vim 216 00:12:18,590 --> 00:12:23,020 og også at give dig selv yderligere funktionalitet oven på Git. 217 00:12:23,020 --> 00:12:25,520 Der er noget, der hedder NERDTree, som du kan bruge til at udforske 218 00:12:25,520 --> 00:12:27,860 filstruktur inde fra Vim. 219 00:12:27,860 --> 00:12:31,710 >> For eksempel kan jeg åbne op NERDTree på højre rude, 220 00:12:31,710 --> 00:12:35,100 og du kan stort set se Tilfældige filer 221 00:12:35,100 --> 00:12:38,720 og åbne ikke skat, ikke se på min skat. 222 00:12:38,720 --> 00:12:43,460 Du kan se på filer og whatnot og åbne andre filer og så videre og så videre. 223 00:12:43,460 --> 00:12:47,610 Og jeg vil ikke gå ind i disse andre plugins, så vi kan stort set dykke 224 00:12:47,610 --> 00:12:51,640 og begynder at arbejde på Vim, men der er plugins, der tillader dig at 225 00:12:51,640 --> 00:12:55,420 kommentere lettere, plugins, der tillader dig at hoppe i mellem filer lettere 226 00:12:55,420 --> 00:12:57,820 plugins, der giver dig syntaks kontrol indefra Vim, 227 00:12:57,820 --> 00:13:00,210 som er virkelig cool, og det giver dig syntaks kontrol 228 00:13:00,210 --> 00:13:03,710 for de fleste sprog lige ud af kassen, 229 00:13:03,710 --> 00:13:07,460 ting som regnbue parenteser, som faktisk er virkelig, virkelig cool. 230 00:13:07,460 --> 00:13:09,110 Lad mig give dig et eksempel på, at lige nu. 231 00:13:09,110 --> 00:13:11,150 >> Lad os se. 232 00:13:11,150 --> 00:13:15,460 Her er nogle tilfældige kode, som jeg var ved at skrive, 233 00:13:15,460 --> 00:13:19,720 og du vil opdage, at beslagene og parenteser alle er farvet, 234 00:13:19,720 --> 00:13:26,120 og parenteser og beslag af samme farve matcher, hvilket er rart 235 00:13:26,120 --> 00:13:29,380 og nogle gange forbedrer læsbarheden af ​​din kode. 236 00:13:29,380 --> 00:13:32,030 Du har også autocompletion, formatering tabelform. 237 00:13:32,030 --> 00:13:37,240 Når du har noget, du ønsker at få alle de kommentarer til linje op 238 00:13:37,240 --> 00:13:40,820 eller du ønsker at lave en tabel i din tekst, og du ønsker at 239 00:13:40,820 --> 00:13:43,870 få alt til at ligne en nice tabel, i stedet for at skulle formatere det manuelt 240 00:13:43,870 --> 00:13:46,830 Der er plugins, der vil formatere det for dig, og så videre og så videre. 241 00:13:46,830 --> 00:13:49,400 Listen bliver ved og ved og ved. 242 00:13:49,400 --> 00:13:53,890 Jeg kunne bruge timer på at udforske alle de forskellige Vim plugins, der eksisterer, 243 00:13:53,890 --> 00:13:59,780 og det er utroligt, hvad der er derude. 244 00:13:59,780 --> 00:14:05,880 >> Eventuelle spørgsmål indtil videre? Sød. 245 00:14:05,880 --> 00:14:10,180 I så fald vil vi begynde at spille rundt med Vim, 246 00:14:10,180 --> 00:14:12,620 og jeg vil have jer til at arbejde med nogle Vim med mig 247 00:14:12,620 --> 00:14:17,650 så du kan få en fornemmelse for det, og jeg kan vejlede dig i dine første skridt, der arbejder med Vim 248 00:14:17,650 --> 00:14:20,590 fordi en masse mennesker får overvældet, når de åbner Vim op, 249 00:14:20,590 --> 00:14:24,730 og nogle gange, hvis du ikke engang kender kommandoen til at forlade du kan ikke engang komme ud af Vim, 250 00:14:24,730 --> 00:14:26,350 men det er ikke så slemt. 251 00:14:26,350 --> 00:14:28,820 Du skal bare have et par minutter af vejledning fra en der har brugt Vim før 252 00:14:28,820 --> 00:14:32,220 eller læse nogle tutorials på nettet, og du vil være på din måde på ingen tid. 253 00:14:32,220 --> 00:14:34,570 Her er nogle instruktioner for at installere Vim, hvis du ikke allerede har. 254 00:14:34,570 --> 00:14:39,130 Du kan se på disse dias efter præsentationen, hvis du vil installere flere ting. 255 00:14:39,130 --> 00:14:42,660 >> Også disse er nogle instruktioner til installation af mine konfigurationsfiler, 256 00:14:42,660 --> 00:14:48,230 og du kan også følge disse instruktioner senere, hvis du ikke allerede har. 257 00:14:48,230 --> 00:14:52,390 Hvis du fyre kunne gå til dette link og downloade en tekstfil. 258 00:14:52,390 --> 00:14:56,640 Linket fører dig til denne tekst fil, som jeg gerne vil have dig til at hente og åbne op i Vim, 259 00:14:56,640 --> 00:15:01,580 og der er en masse øvelser og whatnot derinde, at du kan følge rundt med mig 260 00:15:01,580 --> 00:15:09,160 og begynde at få nogle praksis med nogle af de grundlæggende operationer i Vim. 261 00:15:09,160 --> 00:15:12,740 Godt. 262 00:15:12,740 --> 00:15:18,430 Mens du åbner det op Jeg har tænkt mig at give en kort intro til 2 virkelig centrale principper 263 00:15:18,430 --> 00:15:23,080 i Vim redigering som er virkelig vigtigt at forstå, før du dykker ned i Vim, 264 00:15:23,080 --> 00:15:25,720 og det er modal redigering og operatører og bevægelser. 265 00:15:25,720 --> 00:15:28,600 Jeg vil dække modal redigering først, og derefter vil vi dække operatører og bevægelser 266 00:15:28,600 --> 00:15:30,980 i en lille smule. 267 00:15:30,980 --> 00:15:36,910 >> Den første nøgle skelnen mellem Vim og temmelig meget alle andre 268 00:15:36,910 --> 00:15:39,870 teksteditorer af nogen art, er, at Vim er en modal editor, 269 00:15:39,870 --> 00:15:42,260 og hvad det betyder, er, når du bruger Vim 270 00:15:42,260 --> 00:15:44,120 du kunne være i en af ​​mange forskellige tilstande. 271 00:15:44,120 --> 00:15:46,590 Der er normal tilstand, er der indsæt-mode, der er visuel tilstand, 272 00:15:46,590 --> 00:15:50,790 så videre og så videre, og de ting er, dine tastetryk tage på forskellige handlinger, 273 00:15:50,790 --> 00:15:54,160 tage på forskellig betydning afhængigt af, hvilken tilstand du er i. 274 00:15:54,160 --> 00:15:58,110 Blot som eksempel, normal er den tilstand du er i, når du bevæger dig rundt, 275 00:15:58,110 --> 00:16:01,820 og så jeg ville bruge nøglen J for at bevæge sig nedad, 276 00:16:01,820 --> 00:16:05,430 men i insert mode du bruge tasten J til rent faktisk at skrive ud J på skærmen, 277 00:16:05,430 --> 00:16:08,230 og det er derfor en masse mennesker bliver forvirrede, fordi de ikke er vant til 278 00:16:08,230 --> 00:16:11,630 være i forskellige tilstande hele tiden, og så de vil være at skrive tingene ud, 279 00:16:11,630 --> 00:16:14,490 og du er vant til at have hvad du skriver vises på skærmen, 280 00:16:14,490 --> 00:16:18,370 men i Vim måske din cursor bevæger sig over det hele 281 00:16:18,370 --> 00:16:21,020 fordi du skriver underlige tegn, og pludselig får 282 00:16:21,020 --> 00:16:24,710 flyttet ind indsætningstilstand fordi du har skrevet nogle vigtige 283 00:16:24,710 --> 00:16:27,150 der sætter dig ind i insert mode, og derefter teksten begynder at flyve ud, 284 00:16:27,150 --> 00:16:29,940 så folk bliver forvirrede på grund af dette. 285 00:16:29,940 --> 00:16:32,960 Men du er nødt til at holde styr på, hvilken tilstand du er i, 286 00:16:32,960 --> 00:16:35,260 og hvis man ser på den meget nederste værktøjslinje af Vim 287 00:16:35,260 --> 00:16:37,410 bør der være en indikator, der fortæller dig, hvilken tilstand du er i øjeblikket i, 288 00:16:37,410 --> 00:16:39,350 som bør være nyttige. 289 00:16:39,350 --> 00:16:42,650 >> Men generelt de 3 vigtigste funktioner, du bør vide om, 290 00:16:42,650 --> 00:16:46,440 der er kun sandsynligvis 6 eller 7 eller 8 tilstande eller deromkring, 291 00:16:46,440 --> 00:16:49,180 men du bruger det meste af din tid i 3.. 292 00:16:49,180 --> 00:16:52,150 Den første ting er normal tilstand. Dette er, hvor du tilbringer det meste af din tid. 293 00:16:52,150 --> 00:16:55,620 Alle tastetryk er logget som en slags kommando, 294 00:16:55,620 --> 00:16:58,870 og vi vil lære en masse af disse kommandoer i løbet af dagen i dag. 295 00:16:58,870 --> 00:17:03,160 Den anden tilstand er insert-mode, som er der, hvor du rent faktisk skriver tingene ud, 296 00:17:03,160 --> 00:17:06,410 og indsæt tilstand er dybest set den tilstand, du normalt bruges til. 297 00:17:06,410 --> 00:17:08,650 Du skriver noget, og det bare kommer på skærmen, 298 00:17:08,650 --> 00:17:11,800 og visuel tilstand er noget hvor du kan gøre fremhæve. 299 00:17:11,800 --> 00:17:14,750 Du så tidligere, hvor jeg nogle gange ville fremhæve tekst 300 00:17:14,750 --> 00:17:21,900 og manipulere det på forskellige måder, og det er et eksempel ved hjælp af visuel tilstand. 301 00:17:21,900 --> 00:17:27,819 >> Vi vil starte med de absolutte grundlæggende du behøver for at overleve i Vim, 302 00:17:27,819 --> 00:17:30,610 og det er dybest set disse 7 kommandoer lige her. 303 00:17:30,610 --> 00:17:34,250 HJKL bruges til at navigere rundt i filen, 304 00:17:34,250 --> 00:17:37,140 og de svarer til venstre, ned, op, og til højre, 305 00:17:37,140 --> 00:17:39,460 og du er fri til at bruge piletasterne så godt, 306 00:17:39,460 --> 00:17:43,110 men vi virkelig opfordre dig til at bruge HJKL så meget som muligt 307 00:17:43,110 --> 00:17:46,690 fordi ideen er, at mens du redigerer, kan du flytte rundt i dokumentet 308 00:17:46,690 --> 00:17:49,350 uden at skulle skifte i mellem piletasterne 309 00:17:49,350 --> 00:17:52,210 og hvor du skriver, der er virkelig, virkelig rart. 310 00:17:52,210 --> 00:17:54,390 Du blot ønsker at flytte nogle få tegn overstået. 311 00:17:54,390 --> 00:17:58,020 Du behøver ikke at flytte hele din hånd over, og det er lidt rart at have det. 312 00:17:58,020 --> 00:18:01,920 Nogle Vim eksperter faktisk kortlægge deres piletasterne til andre funktioner 313 00:18:01,920 --> 00:18:06,880 fordi de allerede har HJKL, og de kan bruge deres piletasterne for andre funktioner som godt. 314 00:18:06,880 --> 00:18:09,080 HJKL bevæger dig rundt, mens du er i normal tilstand. 315 00:18:09,080 --> 00:18:11,650 Hvis du ønsker at gå ind i insert mode og skriv noget 316 00:18:11,650 --> 00:18:15,370 du kan trykke på i for indsættelse mode, og som sætter dig i insert mode 317 00:18:15,370 --> 00:18:17,820 og du kan skrive noget, og du skriver flugt 318 00:18:17,820 --> 00:18:20,270 at komme fra indsætningstilstanden tilbage til normal tilstand. 319 00:18:20,270 --> 00:18:23,280 Flygte altid sender dig tilbage til normal tilstand 320 00:18:23,280 --> 00:18:26,740 uanset hvilken tilstand du er i, og hvis du ønsker at forlade 321 00:18:26,740 --> 00:18:29,760 du kan skrive: WQ komme ind, 322 00:18:29,760 --> 00:18:32,640 og den måde, du kan huske dette er w står for skrivning, 323 00:18:32,640 --> 00:18:34,960 og q står for holde op, så: WQ, 324 00:18:34,960 --> 00:18:39,680 og kolon kører kommandoen, og så: WQ indtaste for at køre kommandoen 325 00:18:39,680 --> 00:18:41,840 gemmer og udgange. 326 00:18:41,840 --> 00:18:46,700 >> Hvis du åbner filen op, vi vil gå gennem den første øvelse sammen. 327 00:18:46,700 --> 00:18:49,450 Trin 1 er at overleve i Vim, 328 00:18:49,450 --> 00:18:53,490 og forhåbentlig jer alle har denne åbne. 329 00:18:53,490 --> 00:18:58,460 Godt, og vi har nogle enkle øvelser for dig at vænne sig til at bruge disse taster. 330 00:18:58,460 --> 00:19:03,000 HJKL virkelig synes ikke intuitiv på første, 331 00:19:03,000 --> 00:19:08,710 og dette er en af ​​de første blokke, at folk har under brug Vim 332 00:19:08,710 --> 00:19:10,820 er at bruge disse taster til at navigere rundt. 333 00:19:10,820 --> 00:19:13,650 Det er ikke intuitivt, men når man vænner sig til det 334 00:19:13,650 --> 00:19:19,590 det virkelig integreres ind i dit sind, og mange mennesker ofte befinder sig 335 00:19:19,590 --> 00:19:23,550 hjælp J og K i Word eller også i Chrome, 336 00:19:23,550 --> 00:19:26,530 og faktisk folk har skabt denne Chrome plugin kaldet Vimium 337 00:19:26,530 --> 00:19:29,220 som du kan bruge i Chrome eller Chromium at navigere gennem Chrome 338 00:19:29,220 --> 00:19:31,380 hjælp af tastaturet ved hjælp af Vim-lignende genveje 339 00:19:31,380 --> 00:19:35,050 så folk er meget begejstrede for det, men gå videre og prøve og bruge 340 00:19:35,050 --> 00:19:41,720 HJKL at navigere mellem de numre, bare så du kan blive fortrolig 341 00:19:41,720 --> 00:19:45,660 med, hvordan disse ting fungerer. 342 00:19:45,660 --> 00:19:50,440 >> Når du er færdig det, kan du også gå og lege med denne labyrint jeg oprettet 343 00:19:50,440 --> 00:19:53,580 bare for sjov, og du kan sortere i følge den stiplede linie 344 00:19:53,580 --> 00:19:59,060 og forsøge ikke at gå ned i væggene 345 00:19:59,060 --> 00:20:07,860 og forsøge at gøre det til slutningen af ​​labyrinten. 346 00:20:07,860 --> 00:20:11,840 Hvis du bruger genveje i Gmail eller en række forskellige applikationer 347 00:20:11,840 --> 00:20:15,130 du opdage, at J og K, for eksempel, er ofte bruges til at flytte op og ned, 348 00:20:15,130 --> 00:20:19,930 og der dybest set kommer fra Vim væsentlige, så du har J og K, 349 00:20:19,930 --> 00:20:22,690 og det er virkelig rart, fordi du kan flytte op og ned uden at skulle 350 00:20:22,690 --> 00:20:26,210 bevæge din hånd frem og tilbage fra piletasterne. 351 00:20:26,210 --> 00:20:29,410 Lad os nu prøve at gå ind i indsættelse mode og komme ud af indsættelse mode. 352 00:20:29,410 --> 00:20:34,370 Du vil bemærke, at lige nu er min markør er en stor, sort boks, 353 00:20:34,370 --> 00:20:37,300 og når du går ind i indsætningstilstanden bør du finde, at 354 00:20:37,300 --> 00:20:39,670 det bliver til en smal markør, som du er vant til. 355 00:20:39,670 --> 00:20:43,730 Hvis du bruger Vim i terminalen kan du ikke finde dette at være tilfældet 356 00:20:43,730 --> 00:20:46,970 fordi terminalen ikke støtter denne form for tynd markør, 357 00:20:46,970 --> 00:20:49,890 men hvis du bruger MacVim eller Gvim på Windows 358 00:20:49,890 --> 00:20:54,590 så skal du finde, at det bliver til en markør, og det er en virkelig hurtig visuel indikator. 359 00:20:54,590 --> 00:20:58,270 Det er til dig for at fortælle, om du er i normal tilstand eller indsættelse mode. 360 00:20:58,270 --> 00:21:02,890 >> Lad os gå videre og prøve at redigere denne linje. 361 00:21:02,890 --> 00:21:06,220 Fyld det med dine egne oplysninger eller hvad det er, 362 00:21:06,220 --> 00:21:11,750 og hvordan du kan gøre det er du kan flytte op til slutningen af ​​det blank, 363 00:21:11,750 --> 00:21:16,040 Type I at komme ind indsættelse tilstand, og du kan backspace 364 00:21:16,040 --> 00:21:21,100 og skriv dit navn, og når du er færdig med at skrive 365 00:21:21,100 --> 00:21:26,520 du kan trykke på flugt for at komme ud af indsættelse mode 366 00:21:26,520 --> 00:21:35,930 og du kan flytte herover Insert for at slette det, 367 00:21:35,930 --> 00:21:42,700 type undslippe at komme ud af indsættelse mode, og du kan skrive: w indtaste 368 00:21:42,700 --> 00:21:44,720 for at gemme filen. 369 00:21:44,720 --> 00:21:47,420 Du kan skrive på bare: w for at gemme filen. 370 00:21:47,420 --> 00:21:50,560 Du kan skrive på bare: q for at afslutte uden at gemme, 371 00:21:50,560 --> 00:21:53,750 eller du kan skrive på: WQ for at gemme og afslutte. 372 00:21:53,750 --> 00:21:58,850 Indrømmet, vi ikke ønsker at holde op endnu, så du kan skrive på: w. 373 00:21:58,850 --> 00:22:01,780 Og måske der syntes lidt ineffektive ved første 374 00:22:01,780 --> 00:22:05,600 fordi at flytte til det sted, du var nødt til at skrive J en masse gange, 375 00:22:05,600 --> 00:22:08,670 måske L en masse gange for at komme til dette sted, 376 00:22:08,670 --> 00:22:11,260 og du skal trykke på backspace en masse gange, og det syntes virkelig ineffektiv 377 00:22:11,260 --> 00:22:13,260 hvorimod der normalt ville du sikkert bevæge musen hen over der, 378 00:22:13,260 --> 00:22:15,880 dobbeltklik og begynder at skrive, og selvfølgelig, 379 00:22:15,880 --> 00:22:19,190 de ting er, når du først begynder med Vim, og du kun kender disse basale kommandoer, 380 00:22:19,190 --> 00:22:22,810 ja, det vil være en lille smule langsommere, men snart du lære nogle mere kraftfulde kommandoer, 381 00:22:22,810 --> 00:22:26,380 som vil give dig mulighed for at bevæge sig på tværs af dokumenter meget hurtigere, 382 00:22:26,380 --> 00:22:29,410 og du vil ikke nødt til at have denne meget besværlig brug af 383 00:22:29,410 --> 00:22:34,330 gentage Js og gentage Ks og Ls og så videre og så videre. 384 00:22:34,330 --> 00:22:41,340 >> Eventuelle spørgsmål indtil videre? Solid. 385 00:22:41,340 --> 00:22:44,000 Tilbage til PowerPoint. 386 00:22:44,000 --> 00:22:49,140 Nu skal vi til at indføre nogle flere kommandoer til avanceret bevægelse. 387 00:22:49,140 --> 00:22:52,680 Du har oplevet at skulle skrive måske L et parti eller H en masse, 388 00:22:52,680 --> 00:22:57,200 og her er nogle flere kommandoer, du kan bruge til at flytte rundt hurtigere. 389 00:22:57,200 --> 00:23:02,990 Antag, at din markør er i O ovre i nogle i "Dette er noget tekst" 390 00:23:02,990 --> 00:23:06,840 og her er 5 flere kommandoer, du kan bruge til at bevæge sig på tværs af linjen lettere. 391 00:23:06,840 --> 00:23:09,820 Så ^ og $ flytte dig til begyndelsen og slutningen linje, 392 00:23:09,820 --> 00:23:14,300 og på et tidspunkt, når du lærer regulære udtryk eller andre forskellige ting 393 00:23:14,300 --> 00:23:17,390 du opdage, at disse slags konventioner er meget almindelige. 394 00:23:17,390 --> 00:23:19,360 Den ^ generelt refererer til begyndelsen af ​​linjen. 395 00:23:19,360 --> 00:23:21,090 De $ henviser sædvanligvis til slutningen af ​​linjen. 396 00:23:21,090 --> 00:23:24,130 Disse er meget let at huske, og på samme måde, b, e og w, 397 00:23:24,130 --> 00:23:28,340 de er nemme at huske så godt, fordi B svarer til at bakke eller begyndelsen 398 00:23:28,340 --> 00:23:30,630 e svarer til den ende, som er i slutningen af ​​ordet, 399 00:23:30,630 --> 00:23:35,530 og w svarer til det næste ord, så w for ord. 400 00:23:35,530 --> 00:23:37,750 Og hvis du holder skrive e eller beholde skrive w 401 00:23:37,750 --> 00:23:43,520 du mærke, at du kan springe mellem ord, og det er meget hurtigere end bare at skrive l.. 402 00:23:43,520 --> 00:23:46,600 >> Nu, den næste ting er operatør-Motion Model. 403 00:23:46,600 --> 00:23:50,310 Dette er faktisk en af ​​de vigtigste grunde til, at Vim kan være så stærke, 404 00:23:50,310 --> 00:23:54,890 og det er fordi du hovedsageligt kan komponere forskellige elementer 405 00:23:54,890 --> 00:23:58,250 til mere kraftfulde funktioner, så generelt 406 00:23:58,250 --> 00:24:01,000 når du gør noget i Vim du kan tænke på det som 407 00:24:01,000 --> 00:24:03,280 kombinerer en operatør med en bevægelse. 408 00:24:03,280 --> 00:24:07,310 Indtil videre har vi lige behandlet bevægelser, ligesom HJKL. 409 00:24:07,310 --> 00:24:10,770 De bevæger dig rundt, og derefter b og w, de også bevæge dig rundt forskellige måder, 410 00:24:10,770 --> 00:24:14,600 men vi har ikke gået endnu at være i stand til at slette ting eller ændre ting eller whatnot, 411 00:24:14,600 --> 00:24:19,320 og når du kombinerer operatører med bevægelser, så du er i stand til at have 412 00:24:19,320 --> 00:24:22,510 meget kraftigere virkning, så for eksempel, 413 00:24:22,510 --> 00:24:26,360 hvis jeg ønskede at slette 2 ord, jeg kan bruge d for sletning operatør, 414 00:24:26,360 --> 00:24:29,420 og jeg kan tilføje en 2 at angive, at jeg ønsker at slette 2 ord, 415 00:24:29,420 --> 00:24:31,130 og så vil jeg inkluderer en bevægelse. 416 00:24:31,130 --> 00:24:33,490 Jeg kunne omfatte w at sige slette 2 ord. 417 00:24:33,490 --> 00:24:37,740 Jeg kunne bruge noget som J at sige slette nedadgående 2 gange 418 00:24:37,740 --> 00:24:39,880 og slette 2 linjer under mig. 419 00:24:39,880 --> 00:24:43,870 Jeg kunne sige d2b at slette baglæns to gange, 420 00:24:43,870 --> 00:24:46,450 og der er endnu flere bevægelser end dem, som jeg har vist her 421 00:24:46,450 --> 00:24:52,120 til virkelig, virkelig gøre dit Vim redigering meget mere kraftfuld. 422 00:24:52,120 --> 00:24:55,450 >> Disse er nogle af de mest populære, eller de mest almindelige operatører 423 00:24:55,450 --> 00:24:57,030 og er temmelig let at huske så godt. 424 00:24:57,030 --> 00:24:59,040 D for delete c for forandring. 425 00:24:59,040 --> 00:25:01,560 C er stort set præcis det samme som forandring, bortset fra at 426 00:25:01,560 --> 00:25:05,990 når du bruger c du automatisk få lagt bagefter i insert mode. 427 00:25:05,990 --> 00:25:08,050 Normalt når du bruger sletning du bruge den fra normal tilstand, 428 00:25:08,050 --> 00:25:10,950 og efter du har slettet noget, du bo i normal tilstand. 429 00:25:10,950 --> 00:25:13,380 Men hvis du ønsker at ændre noget, kan du bruge c 430 00:25:13,380 --> 00:25:15,960 at slette noget, og derefter straks gå ind i indsætningstilstanden 431 00:25:15,960 --> 00:25:17,740 så du kan begynde at skrive og ordne noget. 432 00:25:17,740 --> 00:25:21,160 Y er narrer. 433 00:25:21,160 --> 00:25:25,130 Det er dybest set Vim opfattelse af kopiering. 434 00:25:25,130 --> 00:25:29,220 For eksempel, hvis jeg ønsker at kopiere de næste 2 ord, jeg kan gøre y2w eller noget lignende, 435 00:25:29,220 --> 00:25:32,120 og v er for at fremhæve det væsentlige. 436 00:25:32,120 --> 00:25:35,550 Og også, hvad der er virkelig cool er, hvis du skriver en operatør to gange 437 00:25:35,550 --> 00:25:38,890 Det vil handle om en hel linje, så hvis jeg ønsker at slette en hel linje 438 00:25:38,890 --> 00:25:41,060 Jeg kan skrive dd at slette hele linjen, 439 00:25:41,060 --> 00:25:47,370 eller hvis jeg ønsker at kopiere hele linjen jeg kan bruge yy eller noget lignende. 440 00:25:47,370 --> 00:25:51,600 >> Lad os prøve denne lidt mere. 441 00:25:51,600 --> 00:25:56,280 Der er en øvelse her for et avanceret bevægelse operatør samt 442 00:25:56,280 --> 00:25:59,230 og endda nogle andre ting, jeg har ikke tænkt mig at dække i PowerPoint i dag, 443 00:25:59,230 --> 00:26:02,250 men du kan føle dig fri til at kigge over dem senere og lege med dem 444 00:26:02,250 --> 00:26:05,990 og blive fortrolig med dem. 445 00:26:05,990 --> 00:26:07,630 Operatører og bevægelser. 446 00:26:07,630 --> 00:26:14,220 For eksempel antage, der er disse 2 ord, du bare ønsker at slette i sætningen. 447 00:26:14,220 --> 00:26:17,110 Hvad du ønsker at gøre, er, du ønsker at sikre, at din 448 00:26:17,110 --> 00:26:21,000 markøren er ved begyndelsen af ​​det første ord, du vil slette, 449 00:26:21,000 --> 00:26:26,230 og du kan skrive i d2w, og det vil slette disse 2 ord til dig. 450 00:26:26,230 --> 00:26:33,140 Og ved hjælp af netop dette kommando, d2w, kan synes en smule besværligt 451 00:26:33,140 --> 00:26:35,940 og meningsløst, men det er meningen at udtrykke ideen 452 00:26:35,940 --> 00:26:39,380 at du kan komponere disse forskellige ting, og også i tilfælde 453 00:26:39,380 --> 00:26:42,730 du kommer til at være i den situation, så kan du ende med at bruge DW eller d2w, 454 00:26:42,730 --> 00:26:45,600 som jeg bruger en gang imellem. 455 00:26:45,600 --> 00:26:50,030 Dd og cc bruger jeg meget oftere, fordi du kan handle på hele linjer. 456 00:26:50,030 --> 00:26:52,000 >> For eksempel, lad os sige, at jeg har denne tilfældige liste her, 457 00:26:52,000 --> 00:26:59,030 og måske jeg ønsker at slette den linje, der siger Huskies fordi det ikke passer, bare fordi, 458 00:26:59,030 --> 00:27:01,200 og jeg vil ikke have det til at gå ind i indsætningstilstanden bagefter. 459 00:27:01,200 --> 00:27:03,530 Jeg ønsker at slette den, i hvilket tilfælde jeg kunne skrive dd, 460 00:27:03,530 --> 00:27:07,090 og det vil slette hele linjen. 461 00:27:07,090 --> 00:27:11,680 Men lad os sige nu er der denne anden linje, som jeg ønsker at slette, 462 00:27:11,680 --> 00:27:16,850 men jeg ønsker også at ordne det og omskrive det, i hvilket tilfælde jeg vil prøve noget som cc, 463 00:27:16,850 --> 00:27:19,550 og der sletter hele linjen, men sætter mig i indsætningstilstanden, som du kan se, 464 00:27:19,550 --> 00:27:24,970 og jeg kan ordne det derfra. 465 00:27:24,970 --> 00:27:28,510 Og der er mange, mange forskellige måder, du kan kombinere operatører og bevægelser, 466 00:27:28,510 --> 00:27:31,360 og som du bruger Vim mere og mere du lærer mere om forskellige måder 467 00:27:31,360 --> 00:27:36,300 du kan bruge disse kommandoer, og du vil blive bedre og bedre. 468 00:27:36,300 --> 00:27:40,180 Awesome, nu her er nogle andre assorterede kommandoer 469 00:27:40,180 --> 00:27:44,700 der også er meget, meget almindeligt brugt og vil også hjælpe dig med at blive bedre til Vim. 470 00:27:44,700 --> 00:27:48,780 >> For eksempel talte vi om små bogstaver v for visuel fremhævning. 471 00:27:48,780 --> 00:27:51,530 Vi kan også bruge store bogstaver V for visuel linje fremhæve. 472 00:27:51,530 --> 00:27:55,880 På den måde kan du fremhæve hele linjer ad gangen meget lettere. 473 00:27:55,880 --> 00:27:59,180 Du kan bruge o, når du er i normal tilstand til stort set indsætte en ny linje 474 00:27:59,180 --> 00:28:03,620 under den linje, du er her og sætte det ind indsætningstilstanden at begynde at skrive. 475 00:28:03,620 --> 00:28:07,270 Du kan bruge små bogstaver x for at slette det tegn, der er i øjeblikket under markøren. 476 00:28:07,270 --> 00:28:10,230 Du kan også bruge u til at fortryde, som er form for nice, 477 00:28:10,230 --> 00:28:14,180 og du kan bruge kapital A skal føjes til slutningen af ​​den aktuelle linje, 478 00:28:14,180 --> 00:28:18,310 så måske din cursor er et sted på linjen, og du ønsker at tilføje til slutningen af ​​linjen. 479 00:28:18,310 --> 00:28:21,150 Derefter kan du skrive kapital A til straks at springe til slutningen af ​​linjen 480 00:28:21,150 --> 00:28:25,140 og gå ind indsættelse tilstand, så du kan føje til slutningen af ​​linjen. 481 00:28:25,140 --> 00:28:30,840 >> Jeg tror, ​​jeg har nogle flere øvelser for det, som vi kan afprøve. 482 00:28:30,840 --> 00:28:33,240 Faktisk, nej, det gør jeg ikke. Ikke for dem. 483 00:28:33,240 --> 00:28:35,810 Men vi har nogle flere øvelser for næste afsnit, som vi vil se. 484 00:28:35,810 --> 00:28:38,420 Men disse kan du prøve dig selv så godt. 485 00:28:38,420 --> 00:28:45,610 For eksempel, hvis du skriver i regelmæssig v, får du regelmæssig fremhævning, som du er vant til at lide det. 486 00:28:45,610 --> 00:28:49,800 Hvis du skriver i kapital V, kan du få fuld linje fremhæve sådan, 487 00:28:49,800 --> 00:28:55,850 eller hvis jeg skriver i o det dybest set vil åbne en ny linje for mig, hvilket er lidt rart. 488 00:28:55,850 --> 00:28:58,850 X Jeg kan bruge til at slette tegn på markøren. 489 00:28:58,850 --> 00:29:00,800 Jeg kan trykke x en masse gange og slette ting. 490 00:29:00,800 --> 00:29:06,720 Jeg kan trykke på u for at fortryde alt det der. 491 00:29:06,720 --> 00:29:09,600 A, jeg kan skrive i en til straks at gå til slutningen af ​​linjen, 492 00:29:09,600 --> 00:29:14,040 og jeg også inkluderet et par andre gode taster 493 00:29:14,040 --> 00:29:19,240 at du også kan se på efter præsentationen for at lære nogle andre kommandoer. 494 00:29:19,240 --> 00:29:21,250 >> [Studerende] Hvad udskiftning om? 495 00:29:21,250 --> 00:29:23,050 [Brandon L.] Udskiftning er også virkelig cool 496 00:29:23,050 --> 00:29:26,240 og dybest set, hvis du går et sted- 497 00:29:26,240 --> 00:29:30,060 har du nogensinde-folk ikke rigtig bruge det så meget længere i disse dage, 498 00:29:30,060 --> 00:29:34,340 men har du fyre nogensinde har set i Microsoft Word, hvis du skriver insert 499 00:29:34,340 --> 00:29:37,840 du pludselig gå ind i denne mærkelige tilstand, hvor hver enkelt tegn, du skriver 500 00:29:37,840 --> 00:29:39,570 dybest set erstatter den næste karakter? 501 00:29:39,570 --> 00:29:41,020 Jeg ved ikke, hvis du fyre nogensinde har set det. 502 00:29:41,020 --> 00:29:43,250 Dette svarer til det. 503 00:29:43,250 --> 00:29:47,150 For eksempel, hvis jeg ønsker at overskrive, hvad jeg har i øjeblikket en eller anden grund 504 00:29:47,150 --> 00:29:51,300 Jeg kan skrive i kapital R og jeg vil nu være i erstatte tilstand som du kan se i nederste venstre. 505 00:29:51,300 --> 00:29:58,380 Hvis jeg skriver ting overskriver ting, og jeg kan også backspace, som er form for cool, 506 00:29:58,380 --> 00:30:00,140 og jeg kan fortryde det. 507 00:30:00,140 --> 00:30:06,980 Jeg kan ikke bruge det meget ofte, men nu og da det bliver handy. 508 00:30:06,980 --> 00:30:14,150 >> Lad os tale om tekstobjekter, som er en af ​​mine foretrukne ting om Vim, helt ærligt. 509 00:30:14,150 --> 00:30:19,660 Tekstobjekter er dybest set dette begreb at definere en slags bid af tekst 510 00:30:19,660 --> 00:30:26,550 inde i din tekst-fil, og jeg vil gå over disse taster først, 511 00:30:26,550 --> 00:30:29,860 og så vil jeg give dig nogle demonstrationer for dig til mere fuldt ud at forstå, hvad det betyder. 512 00:30:29,860 --> 00:30:34,650 W refererer til et ord, ligesom en tekst objekt som et ord, 513 00:30:34,650 --> 00:30:36,480 så nogle ord, som du normalt kender det, 514 00:30:36,480 --> 00:30:39,300 og hvis der er tegnsætning, der er ved siden af ​​ordet 515 00:30:39,300 --> 00:30:43,490 så vil det ikke omfatter tegnsætning almindelighed. 516 00:30:43,490 --> 00:30:46,440 Men for eksempel, hvis du ønsker at medtage tegnsætning eller anden grund 517 00:30:46,440 --> 00:30:49,080 eller du laver noget, der er ikke er engelsk, og du vil medtage 518 00:30:49,080 --> 00:30:51,180 alle de tegn, der er afgrænset af mellemrum 519 00:30:51,180 --> 00:30:55,390 du kan også bruge kapital W til at få alt det, der er omgivet af mellemrum. 520 00:30:55,390 --> 00:30:58,510 Du kan også bruge parenteser til at henvise til en tekst objekt 521 00:30:58,510 --> 00:31:00,170 der er inde i et sæt parenteser. 522 00:31:00,170 --> 00:31:03,950 Du kan gøre det samme med kantede parenteser, vinkelbeslag, 523 00:31:03,950 --> 00:31:06,450 seler, og citater samt, og endelig, 524 00:31:06,450 --> 00:31:10,970 du kan også bruge t for at henvise til nogle tag. 525 00:31:10,970 --> 00:31:15,390 >> Lad mig vise dig, hvordan det faktisk spiller ud. 526 00:31:15,390 --> 00:31:21,380 For eksempel, dette er min allerførste eksempel i min showcase. 527 00:31:21,380 --> 00:31:26,950 Der er nogle ord i denne sætning, som jeg ønsker at ændre, 528 00:31:26,950 --> 00:31:30,560 og vi talte om W blive brugt som en bevægelse, 529 00:31:30,560 --> 00:31:33,170 men du kan også bruge det som et tekstobjekt som så. 530 00:31:33,170 --> 00:31:40,940 For eksempel er en måde jeg kunne ændre Barack navn eller dybest set ændre det 531 00:31:40,940 --> 00:31:46,730 er jeg kunne gå til begyndelsen af ​​dette ord og type i C for forandring og w for ord, 532 00:31:46,730 --> 00:31:51,650 og det vil slette hele ordet og sætte det ind indsættelse mode. 533 00:31:51,650 --> 00:31:54,240 Men det er meget irriterende for mig at have til at gå til begyndelsen af ​​ordet hele tiden. 534 00:31:54,240 --> 00:31:56,530 Det er virkelig irriterende. Jeg ønsker ikke at have til at gøre det. 535 00:31:56,530 --> 00:32:00,390 Jeg kan faktisk være hvor som helst inde i hans navn 536 00:32:00,390 --> 00:32:03,930 og skriv CIW, og jeg står for indre, 537 00:32:03,930 --> 00:32:06,590 så hvis jeg skriver i CIW det står for forandring i et ord, 538 00:32:06,590 --> 00:32:10,150 eller med andre ord, ændre ordet Jeg er i øjeblikket inde, 539 00:32:10,150 --> 00:32:13,280 og det vil give dig den nøjagtige samme effekt. 540 00:32:13,280 --> 00:32:17,130 Du kan rette det. 541 00:32:17,130 --> 00:32:21,390 >> Tilsvarende måske har jeg nogle tilfælde som dette 542 00:32:21,390 --> 00:32:27,920 hvor en eller anden grund er der nogle skilletegn eller sådan noget, 543 00:32:27,920 --> 00:32:31,700 eller der er nogle tegnsætning, og jeg ønskede at slette det hele. 544 00:32:31,700 --> 00:32:36,530 Hvis jeg skriver i CIW det vil slette, hvad der er inde i disse afgrænsere, 545 00:32:36,530 --> 00:32:39,830 men jeg ønsker at få det hele, der er omgivet af mellemrum, 546 00:32:39,830 --> 00:32:42,750 så jeg kan bruge CIW til at slette det hele. 547 00:32:42,750 --> 00:32:51,000 Jeg vil skrive i fem, gøre de samme ting, og skriv i seks. 548 00:32:51,000 --> 00:32:53,670 Tilsvarende, hvis jeg ønsker at ændre noget, der er i parentes 549 00:32:53,670 --> 00:32:58,340 Jeg kan skrive i ci) for at slette alt, hvad der er i parentes 550 00:32:58,340 --> 00:33:05,460 og derefter udfylde, hvad jeg ønsker at gøre, ligesom int argc, uanset hvad du ønsker at gøre, 551 00:33:05,460 --> 00:33:07,330 og på samme måde, det samme med citater. 552 00:33:07,330 --> 00:33:13,130 Jeg kan ordne tekst, der er inde i anførselstegn, 553 00:33:13,130 --> 00:33:21,540 og jeg kan også ændre ting, der er inde i tags. 554 00:33:21,540 --> 00:33:24,400 Giver det mening? 555 00:33:24,400 --> 00:33:27,020 >> En anden ting du kan gøre, er at du ikke behøver at bruge ca. 556 00:33:27,020 --> 00:33:30,690 Du kan også bruge d, hvis du ønsker at slette, hvad der er inde i disse tags. 557 00:33:30,690 --> 00:33:35,370 Hvis jeg ønsker at slette tekst i et tag, jeg kan bruge DIT at slette dette tag. 558 00:33:35,370 --> 00:33:40,360 Jeg kan også bruge vit at fremhæve, hvad der er inde i tag, for eksempel. 559 00:33:40,360 --> 00:33:43,920 Den anden ting er i stedet for at bruge jeg i midten, du kan også bruge en, 560 00:33:43,920 --> 00:33:49,490 som står for alt, så husk hvis du bruger jeg den vil henvise til teksten objekt 561 00:33:49,490 --> 00:33:52,260 eller bruge en tekst objekt, der er indeholdt i de skilletegn, 562 00:33:52,260 --> 00:33:56,000 men hvis du bruger en det vil omfatte, at tekst såvel som afgrænser sig selv. 563 00:33:56,000 --> 00:33:59,180 For eksempel, hvis jeg ønsker at fremhæve denne tekst og den omkringliggende tag 564 00:33:59,180 --> 00:34:05,390 Jeg kan bruge moms, v for visuel højdepunkt, en for alle, og derefter t for tag. 565 00:34:05,390 --> 00:34:08,350 Du kan gøre sådan noget så godt. 566 00:34:08,350 --> 00:34:15,810 Måske jeg vil slette denne google.com med anførselstegn omkring det så godt, 567 00:34:15,810 --> 00:34:22,860 og jeg kan bruge noget som da "for at slette det hele, for eksempel. 568 00:34:22,860 --> 00:34:26,520 >> Eventuelle spørgsmål indtil videre? 569 00:34:26,520 --> 00:34:32,270 Jeg indser, at jeg dumping på dig en masse Vim kommandoer på én gang, 570 00:34:32,270 --> 00:34:36,210 og det er dybest set, fordi jeg ønsker at udsætte dig for alle de forskellige kommandoer 571 00:34:36,210 --> 00:34:39,480 og give dig en introduktion til, hvad disse kommandoer gør i Vim. 572 00:34:39,480 --> 00:34:41,460 Men hvad der kommer til at ske, er, når du går tilbage 573 00:34:41,460 --> 00:34:44,250 du er nødt til at langsomt at opfange disse kommandoer én efter én. 574 00:34:44,250 --> 00:34:47,880 Du ønsker ikke at overvælde dig selv, fordi det er for overvældende. 575 00:34:47,880 --> 00:34:50,460 Hvis du ønsker at afhente Vim hvad du har virkelig gøre, er 576 00:34:50,460 --> 00:34:53,590 starte med det første grundlæggende sæt, og jeg har brudt den op i lektioner for dig 577 00:34:53,590 --> 00:34:57,830 at gøre det lettere for dig at følge, og prøv og mestre hvert sæt af kommandoer 578 00:34:57,830 --> 00:35:00,400 én efter én, én ad gangen. 579 00:35:00,400 --> 00:35:03,500 Det er for meget at gøre alting på én gang, så hvad du skal gøre, når du går tilbage er 580 00:35:03,500 --> 00:35:10,950 gå til den første lektion, som er HJKL, indsætningstilstanden, flygte ind i normal tilstand, 581 00:35:10,950 --> 00:35:13,790 og gemme og holde op, og det er alt, hvad du virkelig har brug for at overleve i Vim, 582 00:35:13,790 --> 00:35:15,220 og få virkelig, virkelig komfortabel med det. 583 00:35:15,220 --> 00:35:18,270 Og efter et par dage, når du er meget komfortable med, at 584 00:35:18,270 --> 00:35:21,170 skal du gå videre til de mere avancerede motion operatører, 585 00:35:21,170 --> 00:35:25,890 de mere avancerede bevægelser, og at operatørerne og så videre og så videre. 586 00:35:25,890 --> 00:35:32,160 >> Jeg ved, jeg går igennem en masse, men jeg ønsker at få dig udsat for en masse forskellige ting. 587 00:35:32,160 --> 00:35:36,080 Men hvis du er klar til udfordringen, kan jeg vise dig 588 00:35:36,080 --> 00:35:43,690 hvordan du kan sætte det hele sammen ved hjælp af de fleste af hvad vi lige har lært i dag, 589 00:35:43,690 --> 00:35:46,280 og du kan også følge med, hvis du ønsker, 590 00:35:46,280 --> 00:35:48,590 men jeg skabt nogle tilfældige motion. 591 00:35:48,590 --> 00:35:51,140 Antag at vi har en slags vagtplan som denne 592 00:35:51,140 --> 00:35:53,200 hvor du har disse blokke med folks navne, 593 00:35:53,200 --> 00:35:55,440 huse, år, samt koncentration og whatnot, 594 00:35:55,440 --> 00:35:59,240 og du ønsker at tilføje en ny post til dig selv. 595 00:35:59,240 --> 00:36:01,530 Hvad er den bedste måde for dig at gøre dette? 596 00:36:01,530 --> 00:36:03,240 Lad os gøre det på denne måde. 597 00:36:03,240 --> 00:36:06,620 Hvorfor ikke vi først fremhæve denne blok. 598 00:36:06,620 --> 00:36:08,710 Du kommer til at vælge det, og vi kan trykke y for at rykke det, 599 00:36:08,710 --> 00:36:11,180 så nu kan vi stort set kopiere og indsætte denne skabelon først 600 00:36:11,180 --> 00:36:16,500 uden at skulle omskrive det hele fra bunden. 601 00:36:16,500 --> 00:36:20,390 Nu vil jeg trykker j ned en masse gange for at gå ned, 602 00:36:20,390 --> 00:36:22,560 og jeg vil trykke p for at indsætte det. 603 00:36:22,560 --> 00:36:26,990 Måske vil jeg tilføje nogle ekstra linjer for et rum, 604 00:36:26,990 --> 00:36:31,130 og lad os nu sige jeg ønsker at ændre dit navn til nogen. 605 00:36:31,130 --> 00:36:36,220 Så kan jeg gå her og skriv C2W som før for at ændre dette navn. 606 00:36:36,220 --> 00:36:38,860 Bob Jones, hvem ved. 607 00:36:38,860 --> 00:36:41,470 Måske hvis jeg ønsker at ændre det hus jeg kan gå ind i midten her 608 00:36:41,470 --> 00:36:44,230 og skrive i CIW og sætte Cabot House. 609 00:36:44,230 --> 00:36:47,850 >> Her kan være et eksempel på, hvor du måske ønsker at overveje at bruge 610 00:36:47,850 --> 00:36:52,970 udskiftning tilstand for at ændre din eksamen år, hvis du ønsker, 611 00:36:52,970 --> 00:36:54,890 eller vi kan også bruge CIW så godt. 612 00:36:54,890 --> 00:36:57,550 Det betyder ikke noget. 613 00:36:57,550 --> 00:37:07,180 Måske du ønsker at ændre din store. 614 00:37:07,180 --> 00:37:11,310 Og det er, hvad du gør. 615 00:37:11,310 --> 00:37:17,170 Og måske vil jeg give dig en demonstration af, hvad jeg kan gøre 616 00:37:17,170 --> 00:37:23,820 hvis jeg var, hvis du fortsætter med at lære mere avancerede kommandoer i Vim 617 00:37:23,820 --> 00:37:25,690 fordi vi næppe ridse overfladen her, 618 00:37:25,690 --> 00:37:28,960 og jeg kunne gøre denne slags redigering endnu hurtigere end jeg har vist dig her 619 00:37:28,960 --> 00:37:32,860 fordi jeg ved flere kommandoer, som jeg ikke har fået en chance for at vise dig for i dag. 620 00:37:32,860 --> 00:37:37,500 For eksempel, hvis jeg ønsker at understrege dette kan jeg gøre det sådan, 621 00:37:37,500 --> 00:37:39,960 flytte ned. 622 00:37:39,960 --> 00:37:43,860 Jeg har tilføjet min egen kortlægning 623 00:37:43,860 --> 00:37:48,100 dybest set automatisk at fremhæve ting for mig 624 00:37:48,100 --> 00:38:02,610 og jeg kan-jeg ved det ikke. 625 00:38:02,610 --> 00:38:05,260 Jeg mener, dette er bare at forsøge at vise dig, at du kan virkelig, virkelig 626 00:38:05,260 --> 00:38:08,180 begynde at redigere tingene hurtigere, især når du har alle disse forskellige områder, 627 00:38:08,180 --> 00:38:10,620 og normalt, hvad du kan gøre er en slags for at klikke 628 00:38:10,620 --> 00:38:13,530 og fremhæve og derefter skrive. 629 00:38:13,530 --> 00:38:18,530 Du kan gøre alt på én gang, kopiere og indsætte, 630 00:38:18,530 --> 00:38:21,640 bevæger sig op og ned mellem filen, 631 00:38:21,640 --> 00:38:24,060 bare afgrænsning ting, formatering ting. 632 00:38:24,060 --> 00:38:29,670 Alt dette kan gøres meget, meget hurtigere i Vim. 633 00:38:29,670 --> 00:38:32,580 >> Bare en sidste lille ting, som jeg mener kan være virkelig rart, 634 00:38:32,580 --> 00:38:34,820 som er at finde og erstatte. 635 00:38:34,820 --> 00:38:36,460 De af jer, der har brugt Gmail genveje 636 00:38:36,460 --> 00:38:41,050 vil du også vide, at hvis du skriver i / det sender dig til søgefeltet 637 00:38:41,050 --> 00:38:44,210 og i en masse forskellige applikationer i almindelighed vil du opdage, skråstreg 638 00:38:44,210 --> 00:38:47,300 eller måske kontrollere skråstreg eller noget at gøre med skråstreg 639 00:38:47,300 --> 00:38:49,870 vil sætte dig ind i en slags søgefunktion, 640 00:38:49,870 --> 00:38:53,240 og som også dybest set kommer fra Vim væsentlige 641 00:38:53,240 --> 00:38:58,670 fordi skråstreg operatør eller skråstreg kommandoen tillader dig at indtaste 642 00:38:58,670 --> 00:39:01,770 en slags snor, som du kan bruge til at søge i dokumentet. 643 00:39:01,770 --> 00:39:05,350 Du kan n og kapital N til at gå til den næste eller forrige forekomst, 644 00:39:05,350 --> 00:39:10,700 og du kan også bruge noget lignende til at søge og erstatte i dokumentet. 645 00:39:10,700 --> 00:39:15,060 Jeg vil give dig en demonstration på, hvad der kan gøres. 646 00:39:15,060 --> 00:39:18,200 >> Måske hvis jeg ønsker at finde alle forekomster af strengen ryk i dette dokument 647 00:39:18,200 --> 00:39:23,310 Jeg kan skrive i / ryk, som du kan se i nederste venstre hjørne, 648 00:39:23,310 --> 00:39:26,350 og når jeg skriver indtaste det fremhæver alle forekomster. 649 00:39:26,350 --> 00:39:34,160 Jeg kan bruge stort set n for at springe frem og tilbage mellem alle de forskellige instanser, 650 00:39:34,160 --> 00:39:40,420 og lad os antage, jeg ønsker at søge og erstatte ryk med nogle tilfældige ord 651 00:39:40,420 --> 00:39:42,180 det er også i dokumentet. 652 00:39:42,180 --> 00:39:47,070 Jeg kan trykke på: at begynde at skrive i en slags kommando inden Vim, 653 00:39:47,070 --> 00:39:49,610 en kommando, der er mere sofistikeret end at flytte rundt 654 00:39:49,610 --> 00:39:51,370 eller slette eller noget lignende. 655 00:39:51,370 --> 00:39:56,860 Jeg vil skrive i%-tegnet til at henvise, at jeg vil bruge denne substitution kommando 656 00:39:56,860 --> 00:39:58,230 på hele dokumentet. 657 00:39:58,230 --> 00:40:02,380 Indtast s for substitution. Dette kommer fra PEARL væsentlige. 658 00:40:02,380 --> 00:40:07,040 Og det næste kommando er en temmelig standard kommando, som du finder i PEARL 659 00:40:07,040 --> 00:40:09,790 i stedet og i andre programmeringssprog som du vil 660 00:40:09,790 --> 00:40:13,170 sandsynligvis begynde at lære, som du gør mere datalogi, 661 00:40:13,170 --> 00:40:20,130 og jeg kan stort set bruge / til at skrive en / skrive i det ord, jeg ønsker at finde og erstatte 662 00:40:20,130 --> 00:40:24,280 og skriv derefter en anden / og skrive i uanset ord, jeg ønsker at erstatte ordet med. 663 00:40:24,280 --> 00:40:27,450 Hvem ved, måske NyanCat. 664 00:40:27,450 --> 00:40:30,390 Jeg gør det, og så vil du se, at alt fik udskiftet. 665 00:40:30,390 --> 00:40:34,000 >> Men du vil bemærke, at der er dette ord her. 666 00:40:34,000 --> 00:40:37,620 Anden grund nogle af vores tilfælde af ryk erstattes, men ikke alle, 667 00:40:37,620 --> 00:40:40,250 og det er fordi den måde, denne form for sprog er blevet skrevet 668 00:40:40,250 --> 00:40:43,550 ikke kun i Vim, men andre steder er, at når du kører substitution kommando 669 00:40:43,550 --> 00:40:46,470 det vil kun erstatte den første forekomst af dette ord i hver linje, 670 00:40:46,470 --> 00:40:52,810 så hvis jeg vil faktisk erstatte alle forekomster af ordet på hver enkelt linje 671 00:40:52,810 --> 00:40:56,890 så er jeg nødt til at gøre det samme, men tilføjer ag flag til allersidst, 672 00:40:56,890 --> 00:41:00,810 der står for global, og så vil det faktisk 673 00:41:00,810 --> 00:41:06,200 erstatte alle forekomster. 674 00:41:06,200 --> 00:41:09,710 Og når du lære de regulære udtryk, der er faktisk en CS50 seminar 675 00:41:09,710 --> 00:41:12,120 om regulære udtryk, så hvis du er nysgerrig regulære udtryk 676 00:41:12,120 --> 00:41:16,970 du kan også tage dette seminar og lære mere. 677 00:41:16,970 --> 00:41:19,920 >> Men for eksempel, lad os sige, at jeg har en liste med navne som dette, 678 00:41:19,920 --> 00:41:23,920 og jeg ønsker at omarrangere det, så i stedet for at have efternavn, komma, fornavn 679 00:41:23,920 --> 00:41:27,490 Jeg vil omarrangere det, så det siger fornavn, plads, efternavn. 680 00:41:27,490 --> 00:41:30,750 Du kan faktisk bruge denne kommando lige her 681 00:41:30,750 --> 00:41:33,600 det væsentlige gøre det for dig, så du kan se her 682 00:41:33,600 --> 00:41:37,170 vi starter med et s, hvilket betyder, at vi ønsker at gøre en søg og erstat, 683 00:41:37,170 --> 00:41:42,970 og så har jeg tilføjet et flag kaldet \ v, der er noget der hedder denne magiske flag 684 00:41:42,970 --> 00:41:45,810 i Vim der tillader dig at gøre regulære udtryk nemmere. 685 00:41:45,810 --> 00:41:49,370 Så derfra vi dybest set passer til en enkelt linje 686 00:41:49,370 --> 00:41:55,960 der er i form af et sæt af ord, komma, mellemrum og et sæt af ord eller et sæt af bogstaver. 687 00:41:55,960 --> 00:41:59,240 \ W + dybest set betyder et eller flere tegn, 688 00:41:59,240 --> 00:42:04,030 og parenteser bruges til at fange disse grupper 689 00:42:04,030 --> 00:42:06,120 så jeg kan henvise til dem senere. 690 00:42:06,120 --> 00:42:09,910 Som du kan se, når disse capture 2 blokke af ord 691 00:42:09,910 --> 00:42:11,690 der er adskilt af et komma, rum 692 00:42:11,690 --> 00:42:15,510 så hvad vi ønsker at erstatte det med, er jeg bruger \ 2 og \ 1 693 00:42:15,510 --> 00:42:18,130 at vende tilbage til de ord, der blev taget til fange 694 00:42:18,130 --> 00:42:20,950 i selve find-kommando, 695 00:42:20,950 --> 00:42:24,970 og så \ 2 henviser til hvad der er indeholdt i det andet sæt parenteser, 696 00:42:24,970 --> 00:42:28,140 \ 1 henviser til hvad der er indeholdt i den første sæt parenteser, 697 00:42:28,140 --> 00:42:31,680 og som du kan se, jeg lægger 2 før 1. adskilt af et mellemrum 698 00:42:31,680 --> 00:42:36,650 at forsøge at flytte fornavn før efternavn. 699 00:42:36,650 --> 00:42:38,380 Giver det mening? 700 00:42:38,380 --> 00:42:43,450 >> Og hvad jeg kan gøre, er at jeg kan skjule disse først, så jeg kun køre denne kommando på disse linjer, 701 00:42:43,450 --> 00:42:53,720 og så vil jeg skrive i denne kommando. 702 00:42:53,720 --> 00:42:57,050 Du kan se, det gør nøjagtigt som delt. 703 00:42:57,050 --> 00:42:59,400 Og igen, det er næppe ridse overfladen, 704 00:42:59,400 --> 00:43:03,020 og hvis du går til regulære udtryk seminaret så er jeg sikker på du vil lære 705 00:43:03,020 --> 00:43:05,070 en masse flere forskellige ting, du kan gøre med regulære udtryk, 706 00:43:05,070 --> 00:43:08,910 og det dybest set begynder at antyde, hvad du virkelig kan gøre med Vim 707 00:43:08,910 --> 00:43:10,850 hvis du virkelig begynder at blive en mester i det. 708 00:43:10,850 --> 00:43:14,520 Måske du ønsker at refactor noget, og du ønsker at finde alle forekomster 709 00:43:14,520 --> 00:43:16,980 af en funktion, der følger en slags navngivning mønster. 710 00:43:16,980 --> 00:43:18,570 Du ønsker at ændre den måde, der er opkaldt efter. 711 00:43:18,570 --> 00:43:21,140 Du kan skrive en slags kommando som denne til at gøre det for dig, 712 00:43:21,140 --> 00:43:23,850 og det er den slags fleksibilitet, du kan få inden Vim 713 00:43:23,850 --> 00:43:30,210 at du bare ikke kommer til at få i andre teksteditorer. 714 00:43:30,210 --> 00:43:34,830 >> Der dybest set dækker alle de ting, jeg ønskede at lære dig i dag i dagens seminar, 715 00:43:34,830 --> 00:43:38,580 men igen, jeg virkelig ønsker at understrege, at hvis du ønsker at afhente Vim 716 00:43:38,580 --> 00:43:42,120 det er rigtigt, at der er en lidt højere indlæringskurve i starten. 717 00:43:42,120 --> 00:43:44,230 I starten vil du være lidt mindre produktive 718 00:43:44,230 --> 00:43:47,010 end du sandsynligvis vil være anderledes, men hvis du holder dig med det 719 00:43:47,010 --> 00:43:49,890 inden for et par dage eller et par uger, afhængigt af hvor hurtigt du lærer, 720 00:43:49,890 --> 00:43:56,300 du bliver meget, meget hurtigere, og jeg forsøgte at give dig en demonstration 721 00:43:56,300 --> 00:43:59,070 om, hvad Vim er i stand til, men jeg fik ikke rigtig en chance for at vise dig 722 00:43:59,070 --> 00:44:03,230 hvad der sker, når jeg normalt-for eksempel i klassen jeg skriver i mine notater med Vim. 723 00:44:03,230 --> 00:44:07,920 Det er fordi jeg kan arbejde så meget hurtigere i Vim, end jeg kan med ethvert andet program. 724 00:44:07,920 --> 00:44:14,480 Det er bogstaveligt talt en 2 eller 3 gang produktivitet stigning i Vim i forhold til andre programmer, 725 00:44:14,480 --> 00:44:18,800 ikke kun med den hastighed tekstredigering, men også i den måde, jeg kan flytte rundt i dokumentet 726 00:44:18,800 --> 00:44:21,510 og den måde, jeg kan få adgang til andre filer på min computer 727 00:44:21,510 --> 00:44:23,110 og hoppe imellem dem, og så videre og så videre. 728 00:44:23,110 --> 00:44:27,600 Det er bare en rigtig, rigtig stor produktivitet boost. 729 00:44:27,600 --> 00:44:30,550 >> Men når du lærer, du ønsker at sikre, at du lærer en ting ad gangen, 730 00:44:30,550 --> 00:44:34,970 og prøv ikke at overvælde dig selv med alt for mange forskellige kommandoer 731 00:44:34,970 --> 00:44:39,090 fordi der er en masse kommandoer og en masse forskellige genveje kan du lære i Vim. 732 00:44:39,090 --> 00:44:41,780 Du ønsker at afhente en lidt ad gangen og i årenes løb 733 00:44:41,780 --> 00:44:48,990 efterhånden samle en større og større forståelse af Vim. 734 00:44:48,990 --> 00:44:51,790 Hvis du ønsker at fortsætte med at lære mere, disse er nogle af de mere avancerede emner 735 00:44:51,790 --> 00:44:55,900 du kan fortsætte med at lære om, og selv denne knap ridser i overfladen. 736 00:44:55,900 --> 00:44:59,050 Her er nogle populære plugins, du kan føle dig fri til at tjekke og Google dem 737 00:44:59,050 --> 00:45:03,750 og lege med dem, hvis du har lyst til og bare se, hvad slags plugins er derude. 738 00:45:03,750 --> 00:45:06,260 Og så i slutningen af ​​denne PowerPoint, jeg medtage en masse links 739 00:45:06,260 --> 00:45:08,740 til forskellige ressourcer, du kan bruge til at lære af. 740 00:45:08,740 --> 00:45:12,700 Her er en masse forskellige links, du kan bruge til at komme i gang med Vim. 741 00:45:12,700 --> 00:45:15,150 De har forskellige tutorials og whatnot, 742 00:45:15,150 --> 00:45:17,770 og endelig, disse er nogle mere avancerede ting, du kan bruge 743 00:45:17,770 --> 00:45:19,790 at også tjekke ud så godt, 744 00:45:19,790 --> 00:45:22,340 nogle screen afstøbninger og nogle mere avancerede teknikker i Vim 745 00:45:22,340 --> 00:45:26,450 og også nogle forskellige dele af kildekode kan du kigge op på GitHub 746 00:45:26,450 --> 00:45:28,760 bare for at kigge på andre folks konfigurationsfiler 747 00:45:28,760 --> 00:45:32,710 eller til at se på plugins i Vim og så videre og så videre. 748 00:45:32,710 --> 00:45:40,380 >> Det er alt jeg har til dig. 749 00:45:40,380 --> 00:45:43,000 [CS50.TV]