1 00:00:00,000 --> 00:00:02,590 >> [Seminario Vim] 2 00:00:02,590 --> 00:00:04,210 [Brandon Liu] [Harvard University] 3 00:00:04,210 --> 00:00:07,500 [Questo è CS50.] [CS50.TV] 4 00:00:07,500 --> 00:00:09,880 >> Oggi sarà una introduzione a Vim. 5 00:00:09,880 --> 00:00:12,310 Quanti di voi hanno sentito parlare di Vim? 6 00:00:12,310 --> 00:00:15,620 Che cosa avete sentito parlare di Vim? 7 00:00:15,620 --> 00:00:17,590 [Studente] Si risolve tutti i vostri problemi. 8 00:00:17,590 --> 00:00:19,450 [Brandon L.] Si risolve tutti i vostri problemi. 9 00:00:19,450 --> 00:00:23,840 Tutto il resto voi ragazzi avete sentito parlare di Vim? Impressioni? 10 00:00:23,840 --> 00:00:27,990 [Studente] Quasi tutti quelli che ho parlato ama usare Vim. 11 00:00:27,990 --> 00:00:29,960 Oh, dolce. 12 00:00:29,960 --> 00:00:31,090 [Studente] Un sacco di persone che conosco piace usare Vim. 13 00:00:31,090 --> 00:00:35,050 Ok, questo è un bene, perché un sacco di gente in CS51 14 00:00:35,050 --> 00:00:38,000 cominciare a raccogliere Emacs perché Emacs ha leggermente migliore supporto 15 00:00:38,000 --> 00:00:40,100 per la lingua che si vuole utilizzare in CS51, 16 00:00:40,100 --> 00:00:42,770 e temo che non abbastanza persone a Harvard usa Vim, 17 00:00:42,770 --> 00:00:46,190 così ho davvero cercare di fare un buon lavoro di incoraggiare l'uso Vim. 18 00:00:46,190 --> 00:00:51,110 >> Ma qui è un fumetto xkcd classico che voi ragazzi potrebbero trovare interessante. 19 00:00:51,110 --> 00:00:53,800 Avete ragazzi usato Nano prima a tutti? 20 00:00:53,800 --> 00:00:57,380 Questo fumetto dice Nano? I programmatori veri usano Emacs. 21 00:00:57,380 --> 00:00:59,040 Ehi, programmatori veri usano Vim. 22 00:00:59,040 --> 00:01:03,130 No, i programmatori veri usano Ed è questo che-non si vuole usare Ed. 23 00:01:03,130 --> 00:01:05,990 E 'molto, molto vecchio e molto male, e programmatori reali utilizzare 24 00:01:05,990 --> 00:01:08,440 un ago magnetizzato e una mano ferma. 25 00:01:08,440 --> 00:01:16,010 E si può leggere il resto, ma è abbastanza divertente. 26 00:01:16,010 --> 00:01:18,320 E la cosa divertente è alla fine. 27 00:01:18,320 --> 00:01:20,310 Dicono: "Oh, sì, certo, c'è un comando Emacs per farlo." 28 00:01:20,310 --> 00:01:25,050 Il buon vecchio Cx Mc M-farfalla, che è una sorta di colpo a Emacs 29 00:01:25,050 --> 00:01:28,520 perché Emacs è storicamente noto per essere un po 'gonfio 30 00:01:28,520 --> 00:01:32,310 e di avere i comandi per quasi tutto, in modo che è una sorta di scherzo per Emacs. 31 00:01:32,310 --> 00:01:35,320 >> Che cos'è Vim? Vim è editor di testo di un programmatore avanzato. 32 00:01:35,320 --> 00:01:40,040 Ho molta voglia di fare la distinzione tra editor di testo 33 00:01:40,040 --> 00:01:42,000 e qualcosa di simile a un processore documento. 34 00:01:42,000 --> 00:01:44,340 Microsoft Word è noto come un alimentatore di documenti. 35 00:01:44,340 --> 00:01:49,090 È possibile impostare i margini, le cose grassetto, sottolineato le cose, 36 00:01:49,090 --> 00:01:51,480 sciopero attraverso le cose, cambiare la dimensione del carattere e quant'altro. 37 00:01:51,480 --> 00:01:54,380 Un editor di testo non fa niente di più che modificare il testo. 38 00:01:54,380 --> 00:01:56,020 Letteralmente avete appena caratteri. 39 00:01:56,020 --> 00:02:01,650 Non c'è nessun tipo di stile, dimensioni, font, colori, o qualcosa di simile. 40 00:02:01,650 --> 00:02:06,360 Tutto ciò che fai è modificare il testo, e Vim è stato realizzato appositamente per la programmazione. 41 00:02:06,360 --> 00:02:09,240 Ha un sacco di funzioni integrate in un solo per la programmazione. 42 00:02:09,240 --> 00:02:11,360 E 'progettato espressamente per un'efficiente modifica del testo. 43 00:02:11,360 --> 00:02:15,190 >> In generale, Vim si caratterizza per essere essenzialmente l'editor di testo veloce 44 00:02:15,190 --> 00:02:19,110 si può eventualmente utilizzare rispetto a qualsiasi altro editor di testo che è possibile. 45 00:02:19,110 --> 00:02:22,480 Un sacco di funzioni IDE-simili non sono costruiti direttamente in Vim, 46 00:02:22,480 --> 00:02:26,850 quindi se avete usato un IDE e sei abituato a cose come compilare ed eseguire automaticamente 47 00:02:26,850 --> 00:02:30,880 o il debug cosa c'è nel vostro IDE o tutta una serie di cose diverse 48 00:02:30,880 --> 00:02:32,290 Vim non arriva con quella naturale, 49 00:02:32,290 --> 00:02:36,330 ma c'è tutta una serie di plugin che è possibile utilizzare per aggiungere questo tipo di funzionalità per Vim. 50 00:02:36,330 --> 00:02:40,890 Vim da sola concentra sulla modifica del testo e fa la modifica del testo davvero, davvero bene. 51 00:02:40,890 --> 00:02:43,340 E, infine, è davvero personalizzabile ed estendibile, 52 00:02:43,340 --> 00:02:48,740 e fondamentalmente Vim è stato intorno, o Vi, che Vim si basa su, 53 00:02:48,740 --> 00:02:53,790 è stato intorno per oltre 40 anni, ed è un programma molto, molto profondo, 54 00:02:53,790 --> 00:02:58,850 e la gente lo userà per tutta la vita e mai dominare veramente il programma nella sua pienezza, 55 00:02:58,850 --> 00:03:01,530 e sarete sempre continuare ad imparare per tutta la vita nel corso degli anni, 56 00:03:01,530 --> 00:03:03,390 sempre sempre meglio. 57 00:03:03,390 --> 00:03:07,480 >> Non c'è praticamente nessun fine a quello che si può imparare e quanto si può migliorare con Vim, 58 00:03:07,480 --> 00:03:09,300 che è davvero emozionante. 59 00:03:09,300 --> 00:03:12,730 Tu non vuoi vederlo come qualcosa di spaventoso perché si può diventare molto, molto abile 60 00:03:12,730 --> 00:03:16,650 in Vim in poche settimane, ma è una specie di continua- 61 00:03:16,650 --> 00:03:18,870 si può sempre imparare di più e imparare di più e fare le cose meglio, 62 00:03:18,870 --> 00:03:20,880 che è una specie di eccitante per me. 63 00:03:20,880 --> 00:03:23,810 Questo è un esempio di ciò che Vim assomiglia. 64 00:03:23,810 --> 00:03:27,630 Questo non è mio. Vedrete alcune dimostrazioni dal vivo proprio ora. 65 00:03:27,630 --> 00:03:29,350 Questo è un esempio di ciò che Vim potrebbe essere simile. 66 00:03:29,350 --> 00:03:33,590 >> Che cosa stiamo andando a fare oggi andremo a cominciare con 67 00:03:33,590 --> 00:03:35,260  una rapida vetrina di ciò che Vim può fare. 68 00:03:35,260 --> 00:03:39,040 Io vado a fare alcuni trucchi e quant'altro per voi ragazzi 69 00:03:39,040 --> 00:03:43,020 così potete vedere perché mi piace Vim così tanto e perché persone come Vim così tanto, 70 00:03:43,020 --> 00:03:46,470 e poi da lì andremo in una introduzione graduale. 71 00:03:46,470 --> 00:03:49,530 In realtà, sarà un po 'veloce, un'introduzione a Vim. 72 00:03:49,530 --> 00:03:53,410 Ti chiedo ragazzi di scaricare un file di testo e di seguire insieme a me, se potete. 73 00:03:53,410 --> 00:03:58,080 Questo è il Vim, e proprio qui sto usando MacVim, 74 00:03:58,080 --> 00:04:00,520 quindi se voi ragazzi avete Mac potreste voler considerare l'utilizzo di MacVim 75 00:04:00,520 --> 00:04:04,210 perché è una versione grafica di Vim, anche se il regolare Vim, 76 00:04:04,210 --> 00:04:06,210 cosa c'è nella riga di comando, funziona bene. 77 00:04:06,210 --> 00:04:09,890 Io vado a mostrarvi alcuni suggerimenti casuali e trucchi 78 00:04:09,890 --> 00:04:15,330 che è possibile utilizzare in Vim per mostrarvi perché è così cool. 79 00:04:15,330 --> 00:04:18,940 >> Solo un paio di cose a caso ho intenzione di passare attraverso. 80 00:04:18,940 --> 00:04:21,700 La prima cosa è oggetti di testo, e ci sono alcuni comandi intorno a oggetti di testo, 81 00:04:21,700 --> 00:04:25,010 e io ti insegnerò quello che in realtà il testo oggetti sono in dettaglio più avanti nel seminario, 82 00:04:25,010 --> 00:04:30,050 ma per esempio, diciamo che ho scritto il mio nome sbagliato, 83 00:04:30,050 --> 00:04:32,380 Barndon Liu, e voglio cambiarlo. 84 00:04:32,380 --> 00:04:36,140 Tutto quello che devo fare è ottenere il mio cursore da qualche parte nel mio nome e digitare il comando 85 00:04:36,140 --> 00:04:38,900 CIW, e cancellerà tutto il mio nome, mi ha messo in modalità di inserimento, 86 00:04:38,900 --> 00:04:41,050 e posso digitare il mio nome e risolverlo. 87 00:04:41,050 --> 00:04:45,550 Allo stesso modo, se voglio cambiare qualcosa dentro quotazioni c'è anche un comando per questo. 88 00:04:45,550 --> 00:04:47,330 Posso cancellare le cose dentro le virgolette. 89 00:04:47,330 --> 00:04:50,260 Non sarà più necessario fare doppio clic, passare la mano sopra al mouse, 90 00:04:50,260 --> 00:04:52,230 doppio clic, quindi digitare qualcosa dentro 91 00:04:52,230 --> 00:05:02,000 Si può fare tutto da tastiera, qualunque esso sia. 92 00:05:02,000 --> 00:05:06,430 Oppure, in alternativa, diciamo che ho questa tag immagine all'interno di questo tag anchor. 93 00:05:06,430 --> 00:05:08,160 >> Avete ragazzi coperto HTML in classe ancora? 94 00:05:08,160 --> 00:05:10,570 Sì, così forse voglio cancellare questo tag, 95 00:05:10,570 --> 00:05:13,080 che normalmente quello che dovete fare è che devi usare il mouse 96 00:05:13,080 --> 00:05:16,040 e di evidenziare con attenzione esattamente ciò che si desidera eliminare e cancellarlo. 97 00:05:16,040 --> 00:05:21,320 Ma in Vim che è semplicemente Dit, ed è possibile eliminare fuori molto velocemente, 98 00:05:21,320 --> 00:05:28,020 e ti spiego a voi ciò che tutti quei comandi significano e come li si usa in un secondo. 99 00:05:28,020 --> 00:05:30,320 Un altro esempio, ho qui qualche codice, 100 00:05:30,320 --> 00:05:33,640 e diciamo che voglio far rientrare il codice, ma voglio rientrare il codice 101 00:05:33,640 --> 00:05:39,940 solo all'interno delle parentesi, e posso anche rientrare il codice utilizzando 3 comandi 102 00:05:39,940 --> 00:05:45,360 utilizzando fondamentalmente> iB. 103 00:05:45,360 --> 00:05:49,960 Un'altra cosa che è veramente interessante di Vim è qualcosa che si chiama editing blocco visivo. 104 00:05:49,960 --> 00:05:52,380 Non so se voi ragazzi avete mai voluto evidenziare 105 00:05:52,380 --> 00:05:55,690 un blocco rettangolare di testo nel codice a volte 106 00:05:55,690 --> 00:06:00,570 invece di dover fare questo strano tipo di linea cosa che abbraccia tutte le diverse linee. 107 00:06:00,570 --> 00:06:02,450 Ad esempio, in Vim si può fare. 108 00:06:02,450 --> 00:06:05,260 Posso sottolineare rettangoli come questo, che è piuttosto fresco, 109 00:06:05,260 --> 00:06:07,950 ma, inoltre, posso modificare utilizzando tale funzionalità. 110 00:06:07,950 --> 00:06:12,050 Ad esempio, se voglio dare una sorta di prefisso per tutti i nostri nomi 111 00:06:12,050 --> 00:06:18,100 Posso evidenziare un blocco e poi aggiungere qualcosa. 112 00:06:18,100 --> 00:06:22,060 >> Allo stesso modo, posso anche mettere in evidenza questo blocco e scegliere di eliminarlo, 113 00:06:22,060 --> 00:06:26,300 o forse io evidenzio questo blocco e cambio a D perché siamo tutti dottori. 114 00:06:26,300 --> 00:06:29,430 Qualunque cosa sia, si può fare tutte queste cose diverse. 115 00:06:29,430 --> 00:06:31,270 Infine, pieghevole è davvero cool. 116 00:06:31,270 --> 00:06:33,840 Un sacco di IDE hanno questo dove si possono piegare diverse funzioni di visualizzazione 117 00:06:33,840 --> 00:06:35,590 nel caso in cui non si vuole vederli. 118 00:06:35,590 --> 00:06:40,120 Ad esempio, supponiamo di avere questo gruppo di testo qui, e non voglio davvero vederlo. 119 00:06:40,120 --> 00:06:42,710 Voglio tenerlo fuori dalla vista perché sto modificando qualcosa nel file. 120 00:06:42,710 --> 00:06:50,580 Posso piegare in modo è tutto crollato, 121 00:06:50,580 --> 00:06:52,150 e in questo modo è fuori di vista, 122 00:06:52,150 --> 00:06:54,310 e posso modificare altre cose che sono sulla pagina, e questo è davvero grande. 123 00:06:54,310 --> 00:06:57,550 È possibile piegare funzioni e quant'altro o piegare le classi quando si programma 124 00:06:57,550 --> 00:06:59,380 solo per tenerli fuori vista quando non li sta modificando, 125 00:06:59,380 --> 00:07:04,330 e poi quando si desidera vederli poterli aprire. 126 00:07:04,330 --> 00:07:09,260 E si può vedere che appena aperto tutto. 127 00:07:09,260 --> 00:07:11,220 Tabs, tamponi, e finestre. 128 00:07:11,220 --> 00:07:13,260 Vim è abbastanza freddo in questo 129 00:07:13,260 --> 00:07:16,280 normalmente in un sacco di editor di testo è possibile modificare un solo file alla volta, 130 00:07:16,280 --> 00:07:18,960 come nel Nano, o forse se si sta utilizzando il Blocco note o Gedit. 131 00:07:18,960 --> 00:07:21,470 In realtà ho mai usato Gedit molto, ma almeno in Notepad + + 132 00:07:21,470 --> 00:07:26,700 si può avere schede, ma Vim ha il concetto di schede, tamponi e finestre. 133 00:07:26,700 --> 00:07:28,760 Ad esempio, è possibile aprire una serie di nuove schede. 134 00:07:28,760 --> 00:07:31,790 >> Potete vedere qui in cima ho ora un gruppo di schede, 135 00:07:31,790 --> 00:07:34,350 e posso chiudere. 136 00:07:34,350 --> 00:07:37,550 Inoltre, c'è questo concetto di buffer, 137 00:07:37,550 --> 00:07:40,110 che è l'idea che una volta che hai aperto un file 138 00:07:40,110 --> 00:07:43,910 rimane viva nel buffer, e se si vuole navigare verso quel file molto velocemente 139 00:07:43,910 --> 00:07:46,290 è possibile navigare ad esso molto velocemente all'interno del buffer pure, 140 00:07:46,290 --> 00:07:51,890 e, inoltre, entro un riquadro si può anche dividere la vostra finestra su in più finestre. 141 00:07:51,890 --> 00:07:55,890 Ad esempio, se voglio dividere questa finestra su in più finestre 142 00:07:55,890 --> 00:08:00,080 si può vedere proprio qui che posso avere lo stesso codice due volte, 143 00:08:00,080 --> 00:08:03,800 e posso dividere sempre di più e di più, e in questo momento non sembra che il bene 144 00:08:03,800 --> 00:08:07,340 perché per impostazione predefinita ho la dimensione della finestra predefinita essere una sorta di grande 145 00:08:07,340 --> 00:08:09,490 così tutti gli altri sono schiacciati fuori, 146 00:08:09,490 --> 00:08:12,000 ma di solito quando sono sul mio computer e non su questo proiettore 147 00:08:12,000 --> 00:08:15,920 Posso avere diversi riquadri aperti allo stesso tempo, che è veramente bello per 148 00:08:15,920 --> 00:08:21,450 modifica di più file allo stesso tempo. 149 00:08:21,450 --> 00:08:23,800 Si può anche avere le cose come selezionare e sostituire, 150 00:08:23,800 --> 00:08:27,900 e noi effettivamente copriamo che nel seminario, 151 00:08:27,900 --> 00:08:29,250 quindi salterò che per ora. 152 00:08:29,250 --> 00:08:32,039 È inoltre possibile interagire con la riga di comando in tutti i tipi di modi diversi. 153 00:08:32,039 --> 00:08:36,380 Ad esempio, se ho una sorta di lista qui e voglio ordinarla- 154 00:08:36,380 --> 00:08:43,039 Non lo so, aggiungiamo un altro frutto, uva, 155 00:08:43,039 --> 00:08:45,450 e posso sottolineare questo utilizzando la funzione di evidenziazione 156 00:08:45,450 --> 00:08:48,980 e chiamare ordinamento, e ordinerà automaticamente per me. 157 00:08:48,980 --> 00:08:52,150 >> Allo stesso modo, se si sta andando ad essere la modifica di CSS, che presumo che probabilmente farà 158 00:08:52,150 --> 00:08:54,190 per il progetto definitivo, la maggior parte delle persone fanno, 159 00:08:54,190 --> 00:09:00,200 e forse volete mantenere il vostro CSS organizzata da loro ordinamento in ordine alfabetico. 160 00:09:00,200 --> 00:09:04,410 È anche possibile evidenziare e chiamare loro ordinamento, e li ordinare per voi. 161 00:09:04,410 --> 00:09:07,380 Questi sono alcuni degli esempi delle cose che Vim può fare, 162 00:09:07,380 --> 00:09:10,760 e si noterà che la cosa fondamentale che voglio davvero attirare la vostra attenzione 163 00:09:10,760 --> 00:09:14,740 è che io sto facendo tutto da tastiera, 164 00:09:14,740 --> 00:09:18,020 e se siete in grado di vedere dove sono collocati mie mani 165 00:09:18,020 --> 00:09:21,210 vedrete anche che le mie mani si muovono mai dalla riga casa. 166 00:09:21,210 --> 00:09:24,790 Normalmente, quando si modifica il testo di solito si deve utilizzare un mouse 167 00:09:24,790 --> 00:09:28,030 e clicca intorno e quant'altro, e che tipo di movimento si trascina verso il basso 168 00:09:28,030 --> 00:09:32,280 e sprechi di tempo, o forse si sta spostando tra la fila di casa e le frecce, 169 00:09:32,280 --> 00:09:35,620 e così si sta muovendo avanti e indietro così, che è un po 'ingombrante 170 00:09:35,620 --> 00:09:38,750 ma anche si rallenta, e la cosa è volta a ottenere veramente bravo a Vim 171 00:09:38,750 --> 00:09:42,350 tutto quello che vuoi fare è fatto senza dover spostare le mani 172 00:09:42,350 --> 00:09:50,730 dalla fila casa, che è grande. 173 00:09:50,730 --> 00:09:54,870 Aspetta, ho intenzione di aprire questa applicazione. Ci andiamo. 174 00:09:54,870 --> 00:09:58,320 >> Ora è possibile vedere quali comandi sono in esecuzione giù la finestra in basso a destra. 175 00:09:58,320 --> 00:10:03,190 Tutte le funzioni che ho appena mostrato sei cose che sono inclusi di default con Vim, 176 00:10:03,190 --> 00:10:06,820 ma c'è anche un gran numero di plugin che è possibile utilizzare anche 177 00:10:06,820 --> 00:10:08,390 per migliorare la vostra esperienza di Vim. 178 00:10:08,390 --> 00:10:10,540 Se avete scaricato i file di configurazione che ho incluso, 179 00:10:10,540 --> 00:10:13,150 e ci sono le istruzioni su come installarli in PowerPoint 180 00:10:13,150 --> 00:10:17,840 e anche nella mail che ho inviato fuori, ho installato circa 40 plugins 181 00:10:17,840 --> 00:10:20,490 o forse 30 plugin, e ogni singolo 182 00:10:20,490 --> 00:10:24,000 porta funzionalità aggiuntive a Vim che migliora la vostra esperienza di Vim. 183 00:10:24,000 --> 00:10:26,960 Ad esempio, uno dei miei preferiti è qualcosa chiamato surround.vim, 184 00:10:26,960 --> 00:10:29,760 e fondamentalmente permette di lavorare con circostante 185 00:10:29,760 --> 00:10:32,200 o delimitare molto più facilmente caratteri. 186 00:10:32,200 --> 00:10:35,960 >> Un esempio, non so se voi ragazzi mai il codice in LaTeX, 187 00:10:35,960 --> 00:10:38,830 ma LaTeX è un linguaggio di composizione tipografica di matematica che viene utilizzato per rendere 188 00:10:38,830 --> 00:10:42,950 davvero bella la matematica, cercando, e quando si vuole qualcosa da guardare come la matematica 189 00:10:42,950 --> 00:10:47,050 si avvolge in segni di dollaro, e diciamo che sto scrivendo qualche equazione tipo F = ma, 190 00:10:47,050 --> 00:10:49,240 e ho dimenticato di avvolgerla in segno del dollaro. 191 00:10:49,240 --> 00:10:58,270 Allora posso sottolineare questo e avvolgerlo in segno del dollaro, proprio come questo. 192 00:10:58,270 --> 00:11:03,640 In alternativa, Vim permette di eliminare le cose dentro i tag 193 00:11:03,640 --> 00:11:07,300 ed eliminare tag e quant'altro, ma Vim dalla natura 194 00:11:07,300 --> 00:11:10,400 non consente di modificare i tag, così per esempio, io ho questo tag div, 195 00:11:10,400 --> 00:11:13,060 e voglio passare a HTML5 e utilizzare un nuovo tag di intestazione. 196 00:11:13,060 --> 00:11:22,290 Posso fare il cambiamento tag e tipo circostante in testa, 197 00:11:22,290 --> 00:11:26,540 e cambierà automaticamente per me. 198 00:11:26,540 --> 00:11:29,620 Allo stesso modo, diciamo che abbiamo qualcosa in parentesi, 199 00:11:29,620 --> 00:11:33,230 e volevo cambiare la situazione da parentesi tra parentesi o qualcosa di simile. 200 00:11:33,230 --> 00:11:36,520 Posso anche cambiare davvero facilmente digitando c per il cambiamento, 201 00:11:36,520 --> 00:11:39,330 s per il surround, parentesi. 202 00:11:39,330 --> 00:11:42,170 Oh, mi sa che devo digitare più velocemente. 203 00:11:42,170 --> 00:11:45,380 Parentesi e bretelle o staffe, e cambierà automaticamente per me, 204 00:11:45,380 --> 00:11:48,570 che è davvero bello, altrimenti normalmente è davvero ingombrante. 205 00:11:48,570 --> 00:11:51,310 >> Questo è veramente bello per passare forse apostrofo 206 00:11:51,310 --> 00:11:53,060 e corde doppie virgolette o qualcosa di simile. 207 00:11:53,060 --> 00:11:56,250 Questo è un caso, ad esempio l'uso. 208 00:11:56,250 --> 00:11:58,750 C'è un plugin chiamato Fugitive 209 00:11:58,750 --> 00:12:00,260 che si integra con Git. 210 00:12:00,260 --> 00:12:03,000 Sto indovinando forse voi ragazzi non ho usato Git così tanto in CS50, 211 00:12:03,000 --> 00:12:05,530 ma vi ritroverete con Git più e sempre di più, 212 00:12:05,530 --> 00:12:09,530 non solo nelle classi di tutta Harvard, ma anche in posti di lavoro e quant'altro, 213 00:12:09,530 --> 00:12:12,650 e normalmente si deve passare avanti e indietro tra 214 00:12:12,650 --> 00:12:15,950 la riga di comando e Vim per interagire con Git, 215 00:12:15,950 --> 00:12:18,590 ma c'è plugin per l'integrazione con Git dal di dentro Vim 216 00:12:18,590 --> 00:12:23,020 e anche per darvi anche funzionalità aggiuntive sulla cima di Git. 217 00:12:23,020 --> 00:12:25,520 C'è qualcosa chiamato NERDTree, che è possibile utilizzare per esplorare 218 00:12:25,520 --> 00:12:27,860 le strutture dei file da dentro Vim. 219 00:12:27,860 --> 00:12:31,710 >> Ad esempio, posso aprire NERDTree nel riquadro di destra, 220 00:12:31,710 --> 00:12:35,100 e si può sostanzialmente visualizzare file casuali 221 00:12:35,100 --> 00:12:38,720 e le tasse aperti non, non guardano le mie tasse. 222 00:12:38,720 --> 00:12:43,460 Potete guardare i file e quant'altro e aprire altri file e così via e così via. 223 00:12:43,460 --> 00:12:47,610 E non voglio entrare in questi altri plugin, in modo che possiamo sostanzialmente tuffarsi in 224 00:12:47,610 --> 00:12:51,640 e iniziare a lavorare su Vim, ma ci sono plugin che consentono di 225 00:12:51,640 --> 00:12:55,420 commento più facilmente, i plugin che consentono di passare tra i file più facilmente, 226 00:12:55,420 --> 00:12:57,820 plugin che ti danno la sintassi di controllo dall'interno Vim, 227 00:12:57,820 --> 00:13:00,210 che è davvero cool, e ti dà il controllo della sintassi 228 00:13:00,210 --> 00:13:03,710 per la maggior parte delle lingue destra, fuori dalla scatola, 229 00:13:03,710 --> 00:13:07,460 cose come parentesi arcobaleno, che è in realtà davvero, davvero cool. 230 00:13:07,460 --> 00:13:09,110 Lasciate che vi faccia un esempio di quel momento. 231 00:13:09,110 --> 00:13:11,150 >> Vediamo. 232 00:13:11,150 --> 00:13:15,460 Ecco un po 'di codice casuale che stavo scrivendo, 233 00:13:15,460 --> 00:13:19,720 e si noterà che le parentesi e le parentesi sono tutti colorati, 234 00:13:19,720 --> 00:13:26,120 e tra parentesi e staffe dello stesso colore sono corrispondenti, che è bello 235 00:13:26,120 --> 00:13:29,380 e talvolta migliora la leggibilità del codice. 236 00:13:29,380 --> 00:13:32,030 Hai anche il completamento automatico, la formattazione tabellare. 237 00:13:32,030 --> 00:13:37,240 Quando hai qualcosa che si desidera ottenere tutte le osservazioni per allineare 238 00:13:37,240 --> 00:13:40,820 o se si vuole fare una tabella nel testo e si desidera 239 00:13:40,820 --> 00:13:43,870 ottenere tutto per sembrare un bel tavolo, invece di dover formattare manualmente 240 00:13:43,870 --> 00:13:46,830 ci sono plugin che formato che per voi e così via e così via. 241 00:13:46,830 --> 00:13:49,400 La lista va avanti e avanti e avanti. 242 00:13:49,400 --> 00:13:53,890 Potrei passare ore ad esplorare tutti i vari plugin di Vim che esistono, 243 00:13:53,890 --> 00:13:59,780 ed è incredibile quello che c'è là fuori. 244 00:13:59,780 --> 00:14:05,880 >> Tutte le domande finora? Dolce. 245 00:14:05,880 --> 00:14:10,180 In questo caso, stiamo per iniziare a giocare con Vim, 246 00:14:10,180 --> 00:14:12,620 e voglio che voi ragazzi di lavorare con alcuni Vim con me 247 00:14:12,620 --> 00:14:17,650 così è possibile ottenere una sensazione di esso, e posso guidarvi nei vostri primi passi che lavorano con Vim 248 00:14:17,650 --> 00:14:20,590 perché un sacco di gente ottenere sopraffatti quando si aprono Vim up, 249 00:14:20,590 --> 00:14:24,730 e, a volte, se non si sa nemmeno il comando per uscire si può nemmeno uscire di Vim, 250 00:14:24,730 --> 00:14:26,350 ma non è così male. 251 00:14:26,350 --> 00:14:28,820 Hai solo bisogno di un paio di minuti di guida da qualcuno che ha utilizzato Vim prima 252 00:14:28,820 --> 00:14:32,220 o per leggere qualche tutorial online, e sarete sulla strada giusta in poco tempo. 253 00:14:32,220 --> 00:14:34,570 Ecco alcune istruzioni per installare Vim, se non l'hai già. 254 00:14:34,570 --> 00:14:39,130 Potete guardare queste diapositive dopo la presentazione, se si desidera installare più cose. 255 00:14:39,130 --> 00:14:42,660 >> Inoltre, queste sono alcune istruzioni per l'installazione miei file di configurazione, 256 00:14:42,660 --> 00:14:48,230 e si può anche seguire queste istruzioni in seguito, se non l'hai già. 257 00:14:48,230 --> 00:14:52,390 Se voi ragazzi poteste andare a questo link e scaricare un file di testo. 258 00:14:52,390 --> 00:14:56,640 Il link ti porterà a questo file di testo, che vorrei di scaricare e aprire in Vim, 259 00:14:56,640 --> 00:15:01,580 e ci sono un sacco di esercizi e quant'altro in là che è possibile seguire in giro con me 260 00:15:01,580 --> 00:15:09,160 e iniziare a ricevere una certa pratica con alcune delle operazioni di base in Vim. 261 00:15:09,160 --> 00:15:12,740 Buona. 262 00:15:12,740 --> 00:15:18,430 Mentre si sta aprendo che fino ho intenzione di dare una breve introduzione a due principi veramente fondamentali 263 00:15:18,430 --> 00:15:23,080 in editing Vim che sono davvero importanti per capire prima di tuffarsi in Vim, 264 00:15:23,080 --> 00:15:25,720 e questo è l'editing e gli operatori e proposte modale. 265 00:15:25,720 --> 00:15:28,600 Tratterò editing modale prima, e poi vedremo gli operatori e proposte 266 00:15:28,600 --> 00:15:30,980 in un po '. 267 00:15:30,980 --> 00:15:36,910 >> La prima distinzione fondamentale tra Vim e praticamente tutti gli altri 268 00:15:36,910 --> 00:15:39,870 editor di testo di qualsiasi tipo è che Vim è un editor modale, 269 00:15:39,870 --> 00:15:42,260 e che cosa significa quando si sta utilizzando Vim 270 00:15:42,260 --> 00:15:44,120 si potrebbe essere in uno dei tanti modi differenti. 271 00:15:44,120 --> 00:15:46,590 Ci sono modalità normale, c'è la modalità di inserimento, non c'è modo visivo, 272 00:15:46,590 --> 00:15:50,790 così via e così via, e la cosa è, i tasti premuti assumere diverse azioni, 273 00:15:50,790 --> 00:15:54,160 assumere significato diverso, a seconda di quale modalità ti trovi 274 00:15:54,160 --> 00:15:58,110 A titolo di esempio, la modalità normale è la modalità che sei quando si sposta in giro, 275 00:15:58,110 --> 00:16:01,820 e quindi vorrei usare il tasto J per spostare verso il basso, 276 00:16:01,820 --> 00:16:05,430 ma in modalità di inserimento, si utilizza il tasto J per digitare in realtà fuori J sullo schermo, 277 00:16:05,430 --> 00:16:08,230 ed è per questo che un sacco di persone si confondono perché non sono abituati a 278 00:16:08,230 --> 00:16:11,630 essendo in modi diversi tutto il tempo, e così essi saranno digitando le cose, 279 00:16:11,630 --> 00:16:14,490 e siete abituati ad avere tutto ciò che si digita apparire sullo schermo, 280 00:16:14,490 --> 00:16:18,370 ma in Vim forse il cursore si muove in tutto il luogo 281 00:16:18,370 --> 00:16:21,020 perché si sta digitando caratteri strani, e improvvisamente si ottiene 282 00:16:21,020 --> 00:16:24,710 spostato in modalità inserimento, perché hai digitato qualche chiave 283 00:16:24,710 --> 00:16:27,150 che si mette in modalità inserimento, e poi il testo inizia a volare, 284 00:16:27,150 --> 00:16:29,940 così la gente si confondono a causa di questo. 285 00:16:29,940 --> 00:16:32,960 Ma devi tenere traccia di ciò che modo siete in, 286 00:16:32,960 --> 00:16:35,260 e se si guarda la barra inferiore della Vim 287 00:16:35,260 --> 00:16:37,410 ci dovrebbe essere un indicatore che ti dice in quale modalità si sta in, 288 00:16:37,410 --> 00:16:39,350 che dovrebbe essere disponibile. 289 00:16:39,350 --> 00:16:42,650 >> Ma in generale, i 3 modi principali si dovrebbe conoscere, 290 00:16:42,650 --> 00:16:46,440 ci sono solo probabilmente 6 o 7 o 8 modi o giù di lì, 291 00:16:46,440 --> 00:16:49,180 ma si spende la maggior parte del vostro tempo a 3. 292 00:16:49,180 --> 00:16:52,150 La prima cosa è la modalità normale. Questo è dove si trascorre la maggior parte del vostro tempo. 293 00:16:52,150 --> 00:16:55,620 Tutti i tasti sono registrati come una sorta di comando, 294 00:16:55,620 --> 00:16:58,870 e saremo imparando un sacco di questi comandi per tutta la giornata di oggi. 295 00:16:58,870 --> 00:17:03,160 L'altra modalità è la modalità di inserimento, che è dove effettivamente sta digitando le cose, 296 00:17:03,160 --> 00:17:06,410 e la modalità di inserimento è fondamentalmente il modo si è di solito abituati. 297 00:17:06,410 --> 00:17:08,650 Si digita qualcosa, e si tratta solo sullo schermo, 298 00:17:08,650 --> 00:17:11,800 e la modalità visiva è qualcosa in cui si può fare evidenziazione. 299 00:17:11,800 --> 00:17:14,750 Hai visto in precedenza dove a volte sarei evidenziare il testo 300 00:17:14,750 --> 00:17:21,900 e la manipolazione in modi diversi, e questo è un esempio utilizzando la modalità visiva. 301 00:17:21,900 --> 00:17:27,819 >> Inizieremo con le basi assolute necessarie per sopravvivere in Vim, 302 00:17:27,819 --> 00:17:30,610 ed è fondamentalmente questi comandi 7 proprio qui. 303 00:17:30,610 --> 00:17:34,250 Hjkl vengono utilizzati per navigare il file, 304 00:17:34,250 --> 00:17:37,140 e corrispondono a sinistra, giù, su, a destra e, 305 00:17:37,140 --> 00:17:39,460 e sei libero di usare i tasti freccia pure, 306 00:17:39,460 --> 00:17:43,110 ma abbiamo davvero consigliamo di utilizzare hjkl il più possibile 307 00:17:43,110 --> 00:17:46,690 perché l'idea è che, mentre si sta modificando, è possibile spostare il documento 308 00:17:46,690 --> 00:17:49,350 senza dover spostarsi tra i tasti freccia 309 00:17:49,350 --> 00:17:52,210 e dove stai scrivendo, che è molto, molto bello. 310 00:17:52,210 --> 00:17:54,390 Si vuole solo spostare alcuni caratteri sopra. 311 00:17:54,390 --> 00:17:58,020 Non dovete spostare tutta la mano sopra, ed è una specie di bello avere questo. 312 00:17:58,020 --> 00:18:01,920 Alcuni esperti Vim in realtà una mappa più i loro tasti freccia per altre funzioni 313 00:18:01,920 --> 00:18:06,880 perché hanno già hjkl, e possono usare i loro tasti freccia per altre funzioni. 314 00:18:06,880 --> 00:18:09,080 Hjkl si muove intorno mentre siete in modalità normale. 315 00:18:09,080 --> 00:18:11,650 Se si vuole andare in modalità di inserimento e digitare qualcosa 316 00:18:11,650 --> 00:18:15,370 è possibile premere i per modalità di inserimento, e che si mette in modalità di inserimento, 317 00:18:15,370 --> 00:18:17,820 e si può digitare qualcosa, e si digita fuga 318 00:18:17,820 --> 00:18:20,270 per ottenere dalla modalità di inserimento alla modalità normale. 319 00:18:20,270 --> 00:18:23,280 Fuga sempre si rimanda alla modalità normale 320 00:18:23,280 --> 00:18:26,740 non importa quale modalità ci si trovi, e se si vuole lasciare 321 00:18:26,740 --> 00:18:29,760 è possibile digitare: wq entrare, 322 00:18:29,760 --> 00:18:32,640 e il modo in cui si può ricordare questo è w indica la scrittura, 323 00:18:32,640 --> 00:18:34,960 e q sta per uscire, così: wq, 324 00:18:34,960 --> 00:18:39,680 e del colon esegue il comando, e così: wq Invio per eseguire il comando 325 00:18:39,680 --> 00:18:41,840 salva ed esce. 326 00:18:41,840 --> 00:18:46,700 >> Se si apre il file fino andremo attraverso il primo esercizio insieme. 327 00:18:46,700 --> 00:18:49,450 Fase 1 è sopravvissuto a Vim, 328 00:18:49,450 --> 00:18:53,490 e spero che voi ragazzi hanno tutti questo open. 329 00:18:53,490 --> 00:18:58,460 Bene, e noi abbiamo alcuni semplici esercizi per voi per abitua ad usare questi tasti. 330 00:18:58,460 --> 00:19:03,000 Hjkl davvero non sembra intuitivo all'inizio, 331 00:19:03,000 --> 00:19:08,710 e questo è uno dei blocchi iniziali che le persone hanno durante l'utilizzo Vim 332 00:19:08,710 --> 00:19:10,820 è utilizzando questi tasti per navigare. 333 00:19:10,820 --> 00:19:13,650 Non è intuitivo, ma una volta che ci si abitua ad esso 334 00:19:13,650 --> 00:19:19,590 si integra davvero nella vostra mente, e molte persone si trovano spesso 335 00:19:19,590 --> 00:19:23,550 usando J e K in Word o anche in Chrome, 336 00:19:23,550 --> 00:19:26,530 ed effettivamente le persone hanno creato questo plugin Chrome chiamato Vimium 337 00:19:26,530 --> 00:19:29,220 che è possibile utilizzare in Chrome o Chromium per navigare attraverso Chrome 338 00:19:29,220 --> 00:19:31,380 utilizzando la tastiera utilizzando le scorciatoie Vim-like, 339 00:19:31,380 --> 00:19:35,050 così le persone sono molto entusiasta, ma andare avanti e cercare di utilizzo 340 00:19:35,050 --> 00:19:41,720 Hjkl per navigare tra i numeri solo così si può ottenere familiare 341 00:19:41,720 --> 00:19:45,660 con come funzionano queste cose. 342 00:19:45,660 --> 00:19:50,440 >> Una volta terminato questo, si può anche andare a giocare con questo labirinto che ho creato 343 00:19:50,440 --> 00:19:53,580 solo per divertimento, ed è possibile una sorta di seguire la linea tratteggiata 344 00:19:53,580 --> 00:19:59,060 e cercare di non schiantarsi contro i muri 345 00:19:59,060 --> 00:20:07,860 e cercare di arrivare alla fine del labirinto. 346 00:20:07,860 --> 00:20:11,840 Se si utilizzano collegamenti in Gmail o qualsiasi numero di applicazioni diverse 347 00:20:11,840 --> 00:20:15,130 vi accorgerete che J e K, ad esempio, sono spesso utilizzati per muoversi su e giù, 348 00:20:15,130 --> 00:20:19,930 e che proviene fondamentalmente da Vim in sostanza, in modo da avere J e K, 349 00:20:19,930 --> 00:20:22,690 ed è davvero bello perché si può spostare su e giù, senza dover 350 00:20:22,690 --> 00:20:26,210 muovere la mano avanti e indietro da i tasti freccia. 351 00:20:26,210 --> 00:20:29,410 Ora proviamo andare in modalità di inserimento e uscire dalla modalità di inserimento. 352 00:20:29,410 --> 00:20:34,370 Noterete che in questo momento il mio cursore è una grande scatola, nera, 353 00:20:34,370 --> 00:20:37,300 e quando si va in modalità di inserimento si dovrebbe trovare che 354 00:20:37,300 --> 00:20:39,670 si trasforma in un cursore stretto, come siete abituati. 355 00:20:39,670 --> 00:20:43,730 Se stai usando Vim nel terminale non si può trovare che questo sia il caso 356 00:20:43,730 --> 00:20:46,970 perché il terminale non supporta questo tipo di cursore sottile, 357 00:20:46,970 --> 00:20:49,890 ma se si sta utilizzando MacVim o GVim su Windows 358 00:20:49,890 --> 00:20:54,590 allora si dovrebbe trovare che si trasforma in un cursore, e questo è un indicatore visivo davvero veloce. 359 00:20:54,590 --> 00:20:58,270 E 'per voi per dire se siete in modalità normale o in modalità inserimento. 360 00:20:58,270 --> 00:21:02,890 >> Andiamo avanti e provare a modificare questa linea. 361 00:21:02,890 --> 00:21:06,220 Compilarlo con i propri dati o qualunque cosa sia, 362 00:21:06,220 --> 00:21:11,750 e come si può fare è che si può spostare fino alla fine del vuoto, 363 00:21:11,750 --> 00:21:16,040 tipo I per entrare in modalità inserimento, e si può tornare indietro 364 00:21:16,040 --> 00:21:21,100 e digitare il proprio nome, e quando hai finito digitando 365 00:21:21,100 --> 00:21:26,520 è possibile premere Esc per uscire dalla modalità di inserimento, 366 00:21:26,520 --> 00:21:35,930 e si può passare qui, inserire il tipo di eliminare tale, 367 00:21:35,930 --> 00:21:42,700 tipo escape per uscire dalla modalità di inserimento, ed è possibile digitare: w entrare 368 00:21:42,700 --> 00:21:44,720 per salvare il file. 369 00:21:44,720 --> 00:21:47,420 È possibile digitare semplicemente: w per salvare il file. 370 00:21:47,420 --> 00:21:50,560 È possibile digitare semplicemente: q per uscire senza salvare, 371 00:21:50,560 --> 00:21:53,750 oppure si può digitare: wq per salvare e uscire. 372 00:21:53,750 --> 00:21:58,850 Certo, noi non vogliamo smettere ancora, in modo da poter digitare: w. 373 00:21:58,850 --> 00:22:01,780 E forse che sembrava un po 'inefficiente in un primo momento 374 00:22:01,780 --> 00:22:05,600 perché per passare a quel punto si doveva digitare J un mucchio di volte, 375 00:22:05,600 --> 00:22:08,670 L forse un mucchio di volte per arrivare a quel punto, 376 00:22:08,670 --> 00:22:11,260 e si deve premere backspace un mucchio di volte, e sembrava davvero inefficiente 377 00:22:11,260 --> 00:22:13,260 mentre normalmente si sarebbe probabilmente spostare il mouse sopra là, 378 00:22:13,260 --> 00:22:15,880 doppio clic e iniziare a digitare, e, naturalmente, 379 00:22:15,880 --> 00:22:19,190 il fatto è che, quando si inizia con Vim e si conosce solo questi comandi di base, 380 00:22:19,190 --> 00:22:22,810 Sì, sarà un po 'più lento, ma presto si impara alcuni comandi più potenti, 381 00:22:22,810 --> 00:22:26,380 che vi permetterà di spostare tutti i documenti molto più rapidamente, 382 00:22:26,380 --> 00:22:29,410 e non dovrete avere questo uso molto ingombrante di 383 00:22:29,410 --> 00:22:34,330 Js ripetendo e ripetendo Ks e Ls e così via e così via. 384 00:22:34,330 --> 00:22:41,340 >> Tutte le domande finora? Solid. 385 00:22:41,340 --> 00:22:44,000 Torna all'inizio PowerPoint. 386 00:22:44,000 --> 00:22:49,140 Ora stiamo per introdurre alcuni ulteriori comandi per il movimento avanzato. 387 00:22:49,140 --> 00:22:52,680 Hai sperimentato dover digitare magari L molto o H molto, 388 00:22:52,680 --> 00:22:57,200 e qui ci sono alcuni altri comandi che è possibile utilizzare per muoversi più velocemente. 389 00:22:57,200 --> 00:23:02,990 Supponiamo che il cursore si trova alla O sopra in alcuni in "Questo è un testo" 390 00:23:02,990 --> 00:23:06,840 e qui ci sono altre 5 comandi che è possibile utilizzare per spostare tutta la linea più facilmente. 391 00:23:06,840 --> 00:23:09,820 Così ^ e $ si sposta all'inizio e fine linea, 392 00:23:09,820 --> 00:23:14,300 e ad un certo punto, quando si impara espressioni regolari o altre varie cose 393 00:23:14,300 --> 00:23:17,390 vi accorgerete che questo genere di convenzioni sono molto comuni. 394 00:23:17,390 --> 00:23:19,360 Il ^ generalmente si riferisce all'inizio della riga. 395 00:23:19,360 --> 00:23:21,090 Il $ si riferisce generalmente alla fine della riga. 396 00:23:21,090 --> 00:23:24,130 Questi sono molto facili da ricordare, e allo stesso modo, b, e, e w, 397 00:23:24,130 --> 00:23:28,340 sono facili da ricordare anche perché b corrisponde per eseguire o all'inizio, 398 00:23:28,340 --> 00:23:30,630 e corrisponde alla fine, che è la fine della parola, 399 00:23:30,630 --> 00:23:35,530 e w corrisponde alla parola successiva, quindi w per parola. 400 00:23:35,530 --> 00:23:37,750 E se si continua a digitare e o continuare a digitare w 401 00:23:37,750 --> 00:23:43,520 si nota che si può saltare tra le parole, ed è molto più veloce di semplicemente digitando l. 402 00:23:43,520 --> 00:23:46,600 >> Ora, il passo successivo è l'operatore-Motion Model. 403 00:23:46,600 --> 00:23:50,310 Questo è in realtà uno dei motivi principali per cui Vim può essere così potente, 404 00:23:50,310 --> 00:23:54,890 ed è perché si può essenzialmente comporre diversi elementi 405 00:23:54,890 --> 00:23:58,250 in funzioni più potenti, così generalmente 406 00:23:58,250 --> 00:24:01,000 quando si fa qualcosa in Vim si può pensare ad esso come 407 00:24:01,000 --> 00:24:03,280 combinando un operatore con un movimento. 408 00:24:03,280 --> 00:24:07,310 Finora abbiamo solo affrontato con movimenti, come hjkl. 409 00:24:07,310 --> 00:24:10,770 Si muovono in giro, e poi b e w, anche loro si muovono altri modi intorno diverse, 410 00:24:10,770 --> 00:24:14,600 ma non siamo ancora andati a essere in grado di eliminare le cose o cambiare le cose o quant'altro, 411 00:24:14,600 --> 00:24:19,320 e quando si combinano gli operatori con movimenti allora sei in grado di avere 412 00:24:19,320 --> 00:24:22,510 molto più potenti effetti, quindi, ad esempio, 413 00:24:22,510 --> 00:24:26,360 se volevo eliminare due parole, posso usare d per l'operatore cancellazione, 414 00:24:26,360 --> 00:24:29,420 e posso aggiungere un 2 per indicare che voglio cancellare 2 parole, 415 00:24:29,420 --> 00:24:31,130 e poi includo un movimento. 416 00:24:31,130 --> 00:24:33,490 Potrei comprendere w dire eliminare 2 parole. 417 00:24:33,490 --> 00:24:37,740 Potrei usare qualcosa come J da dire eliminare ribasso 2 volte 418 00:24:37,740 --> 00:24:39,880 e cancellare 2 linee sotto di me. 419 00:24:39,880 --> 00:24:43,870 Potrei dire d2b per eliminare indietro due volte, 420 00:24:43,870 --> 00:24:46,450 e ci sono anche più proposte di quelli che ho mostrato qui 421 00:24:46,450 --> 00:24:52,120 per fare davvero il vostro editing Vim molto più potente. 422 00:24:52,120 --> 00:24:55,450 >> Questi sono alcuni dei più popolari o gli operatori più comuni 423 00:24:55,450 --> 00:24:57,030 e sono abbastanza facili da ricordare pure. 424 00:24:57,030 --> 00:24:59,040 D per cancellare, c per il cambiamento. 425 00:24:59,040 --> 00:25:01,560 C è fondamentalmente la stessa cosa come il cambiamento, tranne che 426 00:25:01,560 --> 00:25:05,990 quando si utilizza c automaticamente avere messo in modalità di inserimento dopo. 427 00:25:05,990 --> 00:25:08,050 Normalmente, quando si utilizza l'eliminazione si utilizza dalla modalità normale, 428 00:25:08,050 --> 00:25:10,950 e dopo aver eliminato qualcosa rimanete in modalità normale. 429 00:25:10,950 --> 00:25:13,380 Ma se si vuole cambiare qualcosa, si può usare c 430 00:25:13,380 --> 00:25:15,960 eliminare qualcosa e poi andare immediatamente in modalità di inserimento 431 00:25:15,960 --> 00:25:17,740 in modo da poter iniziare a scrivere e correggere qualcosa. 432 00:25:17,740 --> 00:25:21,160 Y è per yanking. 433 00:25:21,160 --> 00:25:25,130 E 'fondamentalmente la nozione di Vim di copia. 434 00:25:25,130 --> 00:25:29,220 Ad esempio, se voglio copiare i prossimi due parole posso fare y2w o qualcosa di simile, 435 00:25:29,220 --> 00:25:32,120 e v è per evidenziare, in sostanza. 436 00:25:32,120 --> 00:25:35,550 E anche ciò che è veramente interessante è se si digita due volte un operatore 437 00:25:35,550 --> 00:25:38,890 agirà su un'intera linea, quindi se voglio eliminare un'intera linea 438 00:25:38,890 --> 00:25:41,060 Posso digitare dd per cancellare l'intera riga, 439 00:25:41,060 --> 00:25:47,370 o se voglio copiare l'intera linea posso usare AA o qualcosa di simile. 440 00:25:47,370 --> 00:25:51,600 >> Proviamo questo un po 'di più. 441 00:25:51,600 --> 00:25:56,280 C'è un esercizio qui per un operatore avanzato movimento pure 442 00:25:56,280 --> 00:25:59,230 e anche alcune altre cose che non sto andando a coprire in PowerPoint oggi, 443 00:25:59,230 --> 00:26:02,250 ma si può sentire liberi di guardare oltre un secondo momento e giocare con loro 444 00:26:02,250 --> 00:26:05,990 e familiarizzare con loro. 445 00:26:05,990 --> 00:26:07,630 Operatori e movimenti. 446 00:26:07,630 --> 00:26:14,220 Ad esempio, supponiamo che ci siano queste due parole si vuole solo eliminare nella frase. 447 00:26:14,220 --> 00:26:17,110 Che cosa si vorrà fare è che si vuole fare in modo che il vostro 448 00:26:17,110 --> 00:26:21,000 cursore si trova all'inizio della prima parola che si desidera eliminare, 449 00:26:21,000 --> 00:26:26,230 e si può digitare d2w, e sarà eliminare quelle due parole per voi. 450 00:26:26,230 --> 00:26:33,140 E con questo preciso comando, d2w, può sembrare un po 'ingombrante 451 00:26:33,140 --> 00:26:35,940 e inutile, ma si suppone di esprimere l'idea 452 00:26:35,940 --> 00:26:39,380 che è possibile comporre queste cose diverse, e anche nel caso in cui 453 00:26:39,380 --> 00:26:42,730 vi capita di essere nella situazione, allora si può finire con dw o d2w, 454 00:26:42,730 --> 00:26:45,600 che io faccio uso di tanto in tanto. 455 00:26:45,600 --> 00:26:50,030 Dd e cc che uso molto più spesso perché si può agire su intere linee. 456 00:26:50,030 --> 00:26:52,000 >> Per esempio, diciamo che ho questa lista casuale qui, 457 00:26:52,000 --> 00:26:59,030 e forse voglio eliminare la riga che dice Huskies perché non si adatta, solo perché, 458 00:26:59,030 --> 00:27:01,200 e io non voglio che vada in modalità di inserimento. 459 00:27:01,200 --> 00:27:03,530 Io voglio cancellarlo, nel qual caso avrei potuto scrivere dd, 460 00:27:03,530 --> 00:27:07,090 e che eliminare l'intera linea. 461 00:27:07,090 --> 00:27:11,680 Ma diciamo che ora c'è questa altra linea che voglio eliminare, 462 00:27:11,680 --> 00:27:16,850 ma voglio anche risolvere il problema e riscriverlo, nel qual caso cercherò qualcosa di simile cc, 463 00:27:16,850 --> 00:27:19,550 e che elimina tutta la linea, ma mi mette in modalità inserimento, come potete vedere, 464 00:27:19,550 --> 00:27:24,970 e posso risolvere il problema da lì. 465 00:27:24,970 --> 00:27:28,510 E ci sono molti, molti modi diversi è possibile combinare gli operatori e proposte, 466 00:27:28,510 --> 00:27:31,360 e come si usa Vim più e più si impara di più su modi diversi 467 00:27:31,360 --> 00:27:36,300 è possibile utilizzare questi comandi, e ti diventerà sempre meglio. 468 00:27:36,300 --> 00:27:40,180 Incredibile, ora ecco alcuni altri comandi assortiti 469 00:27:40,180 --> 00:27:44,700 che sono anche molto, molto comunemente usati e anche vi aiuterà a diventare meglio a Vim. 470 00:27:44,700 --> 00:27:48,780 >> Per esempio, abbiamo parlato minuscolo v per l'evidenziazione visiva. 471 00:27:48,780 --> 00:27:51,530 Possiamo anche usare lettere maiuscole V per la linea visiva evidenziazione. 472 00:27:51,530 --> 00:27:55,880 In questo modo è possibile evidenziare intere righe alla volta molto più facilmente. 473 00:27:55,880 --> 00:27:59,180 È possibile utilizzare o quando si è in modalità normale per inserire fondamentalmente una nuova linea 474 00:27:59,180 --> 00:28:03,620 sotto la linea Attualmente sei su e metterlo in modalità di inserimento iniziare a digitare. 475 00:28:03,620 --> 00:28:07,270 È possibile utilizzare minuscola x per cancellare il carattere che è attualmente sotto il cursore. 476 00:28:07,270 --> 00:28:10,230 È inoltre possibile utilizzare u undo, che è una specie di bello, 477 00:28:10,230 --> 00:28:14,180 ed è possibile utilizzare maiuscola da aggiungere alla fine della riga corrente, 478 00:28:14,180 --> 00:28:18,310 così forse il cursore si trova da qualche parte sulla linea, e si desidera aggiungere alla fine della riga. 479 00:28:18,310 --> 00:28:21,150 Quindi è possibile digitare maiuscola per passare immediatamente alla fine della linea 480 00:28:21,150 --> 00:28:25,140 e andare in modalità di inserimento in modo da poter aggiungere alla fine della riga. 481 00:28:25,140 --> 00:28:30,840 >> Penso di avere un paio di esercizi per quello che possiamo provare. 482 00:28:30,840 --> 00:28:33,240 In realtà, no, io non lo faccio. Non per quelli. 483 00:28:33,240 --> 00:28:35,810 Ma abbiamo alcuni più esercizi per la sezione successiva che vedremo. 484 00:28:35,810 --> 00:28:38,420 Ma questi si può provare voi stessi pure. 485 00:28:38,420 --> 00:28:45,610 Ad esempio, se si digita regolare v, si otterrà l'evidenziazione regolare che siete abituati a come questo. 486 00:28:45,610 --> 00:28:49,800 Se si digita in V maiuscola, è possibile ottenere la linea completa evidenziando così, 487 00:28:49,800 --> 00:28:55,850 o se scrivo in o fondamentalmente si aprirà una nuova linea per me, che è una specie di piacevole. 488 00:28:55,850 --> 00:28:58,850 X posso usare per cancellare i caratteri sul cursore. 489 00:28:58,850 --> 00:29:00,800 Posso premere x un mucchio di volte e cancellare roba. 490 00:29:00,800 --> 00:29:06,720 Posso premere A per annullare tutto questo. 491 00:29:06,720 --> 00:29:09,600 A, posso digitare A per andare subito alla fine della linea, 492 00:29:09,600 --> 00:29:14,040 e ho incluso anche un paio di altri tasti belle 493 00:29:14,040 --> 00:29:19,240 che si può anche guardare dopo la presentazione di imparare alcuni altri comandi. 494 00:29:19,240 --> 00:29:21,250 >> [Studente] Qual è la sostituzione in merito? 495 00:29:21,250 --> 00:29:23,050 [Brandon L.] La sostituzione è anche davvero cool 496 00:29:23,050 --> 00:29:26,240 e in fondo se si va da qualche parte- 497 00:29:26,240 --> 00:29:30,060 avete mai-la gente realmente non usarlo più molto in questi giorni, 498 00:29:30,060 --> 00:29:34,340 ma avete voi ragazzi mai visti in Microsoft Word, se si digita inserto 499 00:29:34,340 --> 00:29:37,840 improvvisamente va in questo modo strano in cui ogni singolo carattere digitato 500 00:29:37,840 --> 00:29:39,570 in sostanza sostituisce il carattere successivo? 501 00:29:39,570 --> 00:29:41,020 Non so se voi ragazzi avete mai visto. 502 00:29:41,020 --> 00:29:43,250 Questo è simile a quella. 503 00:29:43,250 --> 00:29:47,150 Ad esempio, se voglio sovrascrivere quello che ho attualmente per qualche motivo 504 00:29:47,150 --> 00:29:51,300 Posso digitare nel capitale R, e sarò ora in modalità di sostituzione, come potete vedere in basso a sinistra. 505 00:29:51,300 --> 00:29:58,380 Se scrivo roba che sovrascrive le cose, e posso anche backspace, che è genere di freddo, 506 00:29:58,380 --> 00:30:00,140 e posso annullare tale. 507 00:30:00,140 --> 00:30:06,980 Io non uso che molto spesso, ma ogni tanto diventa a portata di mano. 508 00:30:06,980 --> 00:30:14,150 >> Parliamo di oggetti di testo, che è una delle cose che preferisco Vim, onestamente. 509 00:30:14,150 --> 00:30:19,660 Gli oggetti di testo sono fondamentalmente questa nozione di definire una sorta di blocco di testo 510 00:30:19,660 --> 00:30:26,550 all'interno del file di testo, e vado su questi tasti prima, 511 00:30:26,550 --> 00:30:29,860 e poi ti darò alcune dimostrazioni per voi di comprendere più pienamente che cosa significa. 512 00:30:29,860 --> 00:30:34,650 W si riferisce ad una parola, come un oggetto di testo come una parola, 513 00:30:34,650 --> 00:30:36,480 così una parola come di consueto lo sai, 514 00:30:36,480 --> 00:30:39,300 e se c'è punteggiatura che è accanto alla parola 515 00:30:39,300 --> 00:30:43,490 allora non includerà la punteggiatura in generale. 516 00:30:43,490 --> 00:30:46,440 Ma per esempio, se si desidera includere la punteggiatura per qualche motivo 517 00:30:46,440 --> 00:30:49,080 o si sta facendo qualcosa che non è inglese e si desidera includere 518 00:30:49,080 --> 00:30:51,180 tutti i personaggi che si delineano da spazi bianchi 519 00:30:51,180 --> 00:30:55,390 è anche possibile utilizzare il capitale W per ottenere tutto ciò che è circondato da spazi bianchi. 520 00:30:55,390 --> 00:30:58,510 È inoltre possibile utilizzare le parentesi per fare riferimento a un oggetto di testo 521 00:30:58,510 --> 00:31:00,170 che è all'interno di una serie di parentesi. 522 00:31:00,170 --> 00:31:03,950 Puoi fare la stessa cosa con le parentesi quadre, parentesi angolari, 523 00:31:03,950 --> 00:31:06,450 bretelle, e citazioni nonché, infine, 524 00:31:06,450 --> 00:31:10,970 è anche possibile utilizzare t per fare riferimento ad alcuni tag. 525 00:31:10,970 --> 00:31:15,390 >> Lasciate che vi mostri come che in realtà gioca fuori. 526 00:31:15,390 --> 00:31:21,380 Ad esempio, questo è il mio primo esempio nella mia vetrina. 527 00:31:21,380 --> 00:31:26,950 C'è qualche parola in questa frase che voglio cambiare, 528 00:31:26,950 --> 00:31:30,560 e abbiamo parlato W essere usato come un movimento, 529 00:31:30,560 --> 00:31:33,170 ma si può anche utilizzare come un oggetto di testo in questo modo. 530 00:31:33,170 --> 00:31:40,940 Ad esempio, in un modo che potrebbe cambiare il nome di Barack o fondamentalmente modificarlo 531 00:31:40,940 --> 00:31:46,730 è Potrei andare all'inizio di questa parola e digitare c per il cambiamento e w per parola, 532 00:31:46,730 --> 00:31:51,650 e che eliminare l'intera parola e metterlo in modalità di inserimento. 533 00:31:51,650 --> 00:31:54,240 Ma è molto fastidioso per me avere per andare all'inizio della parola per tutto il tempo. 534 00:31:54,240 --> 00:31:56,530 Questo è davvero fastidioso. Io non voglio avere a che fare. 535 00:31:56,530 --> 00:32:00,390 Posso davvero essere ovunque all'interno del suo nome 536 00:32:00,390 --> 00:32:03,930 e digitare CIW, e la i sta per interni, 537 00:32:03,930 --> 00:32:06,590 quindi se digito CIW si distingue per il cambiamento in una parola, 538 00:32:06,590 --> 00:32:10,150 o in altre parole, cambiare la parola Attualmente sono dentro, 539 00:32:10,150 --> 00:32:13,280 e vi darà lo stesso effetto. 540 00:32:13,280 --> 00:32:17,130 Si può rimediare. 541 00:32:17,130 --> 00:32:21,390 >> Allo stesso modo, forse ho qualche caso come questo 542 00:32:21,390 --> 00:32:27,920 dove per qualche motivo ci sono alcuni delimitatori o qualcosa di simile, 543 00:32:27,920 --> 00:32:31,700 o c'è qualche punteggiatura, e volevo eliminare il tutto. 544 00:32:31,700 --> 00:32:36,530 Se digito CIW si cancella quello che c'è dentro questi delimitatori, 545 00:32:36,530 --> 00:32:39,830 ma io voglio ottenere il tutto che è circondato da spazi bianchi, 546 00:32:39,830 --> 00:32:42,750 così posso utilizzare Custom Installation Wizard per cancellare il tutto. 547 00:32:42,750 --> 00:32:51,000 Io digito in cinque, fare la stessa cosa, e inserite in sei. 548 00:32:51,000 --> 00:32:53,670 Allo stesso modo, se voglio cambiare qualcosa che è dentro le parentesi 549 00:32:53,670 --> 00:32:58,340 Posso digitare CI) per eliminare tutto ciò che è all'interno delle parentesi 550 00:32:58,340 --> 00:33:05,460 e poi compilare quello che voglio fare, come int argc, quello che vuoi fare, 551 00:33:05,460 --> 00:33:07,330 e allo stesso modo, la stessa cosa con le virgolette. 552 00:33:07,330 --> 00:33:13,130 Posso risolvere testo che è dentro di citazioni, 553 00:33:13,130 --> 00:33:21,540 e posso anche cambiare le cose che si trovano all'interno dei tag. 554 00:33:21,540 --> 00:33:24,400 Ritiene che senso? 555 00:33:24,400 --> 00:33:27,020 >> Un'altra cosa che puoi fare è che non c'è bisogno di usare c. 556 00:33:27,020 --> 00:33:30,690 È inoltre possibile utilizzare d se si desidera eliminare ciò che c'è dentro questi tag. 557 00:33:30,690 --> 00:33:35,370 Se voglio cancellare il testo all'interno di un tag posso usare dit per cancellare quel tag. 558 00:33:35,370 --> 00:33:40,360 Posso anche usare vit per evidenziare cosa c'è dentro il tag, per esempio. 559 00:33:40,360 --> 00:33:43,920 L'altra cosa è invece di utilizzare i nel mezzo si può anche utilizzare un, 560 00:33:43,920 --> 00:33:49,490 che sta per tutti, in modo da ricordare se si usa mi farà riferimento all'oggetto di testo 561 00:33:49,490 --> 00:33:52,260 o utilizzare un oggetto di testo che è contenuto all'interno dei delimitatori, 562 00:33:52,260 --> 00:33:56,000 ma se si utilizza un includerà il testo così come delimitatore stessa. 563 00:33:56,000 --> 00:33:59,180 Ad esempio, se voglio evidenziare il testo e il tag circostante 564 00:33:59,180 --> 00:34:05,390 Posso usare IVA, v per evidenziare visivo, per tutti, e quindi t per il tag. 565 00:34:05,390 --> 00:34:08,350 Si può fare qualcosa di simile pure. 566 00:34:08,350 --> 00:34:15,810 Forse voglio cancellare questo google.com con le virgolette intorno ad esso pure, 567 00:34:15,810 --> 00:34:22,860 e posso usare qualcosa come da "per eliminare tutto questo, per esempio. 568 00:34:22,860 --> 00:34:26,520 >> Tutte le domande finora? 569 00:34:26,520 --> 00:34:32,270 Mi rendo conto che sto dumping un sacco di Vim comandi tutti in una volta, 570 00:34:32,270 --> 00:34:36,210 e questo è fondamentalmente perché voglio esporre a tutti i vari comandi 571 00:34:36,210 --> 00:34:39,480 e vi darà una introduzione a quello che fanno questi comandi in Vim. 572 00:34:39,480 --> 00:34:41,460 Ma quello che sta andando ad avere per accadere è quando si va indietro 573 00:34:41,460 --> 00:34:44,250 si sta andando ad avere per raccogliere lentamente questi comandi uno per uno. 574 00:34:44,250 --> 00:34:47,880 Non si vuole sopraffare te stesso, perché è troppo opprimente. 575 00:34:47,880 --> 00:34:50,460 Se si vuole prendere Vim quello che dovete fare è davvero 576 00:34:50,460 --> 00:34:53,590 Comincio con il primo set di base, e ho rotto in su in lezioni per voi 577 00:34:53,590 --> 00:34:57,830 che rendono più facile per voi da seguire, e cercare di padroneggiare ogni set di comandi 578 00:34:57,830 --> 00:35:00,400 uno per uno, uno alla volta. 579 00:35:00,400 --> 00:35:03,500 E 'troppo da fare tutto in una volta, così che cosa si dovrebbe fare quando si va indietro è 580 00:35:03,500 --> 00:35:10,950 andare alla prima lezione, che è hjkl, modalità di inserimento, la fuga in modalità normale, 581 00:35:10,950 --> 00:35:13,790 e il risparmio e smettere, e questo è tutto ciò che ha realmente bisogno per sopravvivere in Vim, 582 00:35:13,790 --> 00:35:15,220 e ottenere molto, molto bene con quello. 583 00:35:15,220 --> 00:35:18,270 E dopo un paio di giorni una volta che sei molto bene con quello 584 00:35:18,270 --> 00:35:21,170 si dovrebbe passare agli operatori di movimento più avanzati, 585 00:35:21,170 --> 00:35:25,890 i movimenti più avanzati, e sugli operatori e così via e così via. 586 00:35:25,890 --> 00:35:32,160 >> So che sto passando un sacco, ma voglio farti esposti a un sacco di cose diverse. 587 00:35:32,160 --> 00:35:36,080 Ma nel caso in cui tu sei pronto per la sfida, posso mostrarvi 588 00:35:36,080 --> 00:35:43,690 come si può mettere insieme tutto questo utilizzando la maggior parte di quello che abbiamo appena appreso oggi, 589 00:35:43,690 --> 00:35:46,280 e si può anche seguire se si vuole, 590 00:35:46,280 --> 00:35:48,590 ma ho creato qualche esercizio casuale. 591 00:35:48,590 --> 00:35:51,140 Supponiamo di avere una sorta di roster come questo 592 00:35:51,140 --> 00:35:53,200 dove si hanno questi blocchi con i nomi delle persone, 593 00:35:53,200 --> 00:35:55,440 case, anni, e concentrazioni e quant'altro, 594 00:35:55,440 --> 00:35:59,240 e si desidera aggiungere una nuova voce per te. 595 00:35:59,240 --> 00:36:01,530 Qual è il modo migliore per voi di fare questo? 596 00:36:01,530 --> 00:36:03,240 Facciamolo come questo. 597 00:36:03,240 --> 00:36:06,620 Perché non prima evidenziamo questo blocco. 598 00:36:06,620 --> 00:36:08,710 Stai andando a selezionarlo, e possiamo premere Y per tirare esso, 599 00:36:08,710 --> 00:36:11,180 così ora possiamo fondamentalmente copiare e incollare questo modello prima 600 00:36:11,180 --> 00:36:16,500 senza dover riscrivere il tutto da zero. 601 00:36:16,500 --> 00:36:20,390 Ora mi preme j giù un mucchio di volte a scendere, 602 00:36:20,390 --> 00:36:22,560 e io premo p per incollarlo. 603 00:36:22,560 --> 00:36:26,990 Forse io aggiungo alcune linee extra per uno spazio, 604 00:36:26,990 --> 00:36:31,130 e diciamo che ora voglio cambiare il proprio nome a qualcuno. 605 00:36:31,130 --> 00:36:36,220 Allora posso andare qui e digitare C2W come prima di cambiare quel nome. 606 00:36:36,220 --> 00:36:38,860 Bob Jones, chi lo sa. 607 00:36:38,860 --> 00:36:41,470 Forse se voglio cambiare casa posso andare in mezzo qui 608 00:36:41,470 --> 00:36:44,230 e digitare CIW e mettere Cabot House. 609 00:36:44,230 --> 00:36:47,850 >> Qui può essere un esempio di dove potreste voler considerare l'utilizzo di 610 00:36:47,850 --> 00:36:52,970 la modalità di sostituzione di cambiare il vostro anno di laurea, se volete, 611 00:36:52,970 --> 00:36:54,890 o possiamo anche utilizzare Custom Installation Wizard pure. 612 00:36:54,890 --> 00:36:57,550 Non importa. 613 00:36:57,550 --> 00:37:07,180 Forse si vuole cambiare il vostro maggiore. 614 00:37:07,180 --> 00:37:11,310 E questo è quello che fate. 615 00:37:11,310 --> 00:37:17,170 E forse ti darò una dimostrazione di quello che potrei fare 616 00:37:17,170 --> 00:37:23,820 se fossi, se si continua a imparare i comandi più avanzati in Vim 617 00:37:23,820 --> 00:37:25,690 perché stiamo a malapena graffiare la superficie qui, 618 00:37:25,690 --> 00:37:28,960 e potrei fare questo genere di editing ancora più velocemente vi ho mostrato qui 619 00:37:28,960 --> 00:37:32,860 perché so più comandi che non ho avuto la possibilità di mostrare per oggi. 620 00:37:32,860 --> 00:37:37,500 Ad esempio, se voglio sottolineare questo posso farlo così, 621 00:37:37,500 --> 00:37:39,960 spostare verso il basso. 622 00:37:39,960 --> 00:37:43,860 Ho aggiunto la mia propria mappatura 623 00:37:43,860 --> 00:37:48,100 fondamentalmente per evidenziare automaticamente roba per me 624 00:37:48,100 --> 00:38:02,610 e posso-non so. 625 00:38:02,610 --> 00:38:05,260 Voglio dire, questo è solo cercando di mostrare che si può veramente 626 00:38:05,260 --> 00:38:08,180 iniziare a modificare le cose più velocemente, soprattutto quando si hanno tutti questi diversi campi, 627 00:38:08,180 --> 00:38:10,620 e di solito quello che si potrebbe fare è una sorta di clic 628 00:38:10,620 --> 00:38:13,530 ed evidenziando quindi digitando. 629 00:38:13,530 --> 00:38:18,530 Si può fare tutto in una volta, copia e incolla, 630 00:38:18,530 --> 00:38:21,640 movimento su e giù tra il file, 631 00:38:21,640 --> 00:38:24,060 solo delimitando roba, roba di formattazione. 632 00:38:24,060 --> 00:38:29,670 Tutto questo può essere fatto molto, molto più rapidamente in Vim. 633 00:38:29,670 --> 00:38:32,580 >> Solo un'ultima piccola cosa che penso possa essere veramente bello, 634 00:38:32,580 --> 00:38:34,820 che è trovare e sostituire. 635 00:38:34,820 --> 00:38:36,460 Quelli di voi che hanno utilizzato scorciatoie Gmail 636 00:38:36,460 --> 00:38:41,050 avrete anche sapere che se si digita / ti manda alla casella di ricerca, 637 00:38:41,050 --> 00:38:44,210 e in un sacco di diverse applicazioni in generale, vi accorgerete che barra 638 00:38:44,210 --> 00:38:47,300 o forse controllare barra o qualcosa a che fare con la barra 639 00:38:47,300 --> 00:38:49,870 vi metterà in una sorta di modalità di ricerca, 640 00:38:49,870 --> 00:38:53,240 e che anche proviene fondamentalmente da Vim essenzialmente 641 00:38:53,240 --> 00:38:58,670 perché l'operatore barra o il comando barra consente di inserire 642 00:38:58,670 --> 00:39:01,770 una sorta di stringa che è possibile utilizzare per cercare all'interno del documento. 643 00:39:01,770 --> 00:39:05,350 Puoi n e il capitale N per passare alla successiva e l'occorrenza precedente, 644 00:39:05,350 --> 00:39:10,700 e si può anche usare qualcosa di simile a cercare e sostituire all'interno del documento. 645 00:39:10,700 --> 00:39:15,060 Ti darò una dimostrazione su cosa si può fare. 646 00:39:15,060 --> 00:39:18,200 >> Forse se voglio trovare tutte le istanze della strattone stringa all'interno di questo documento 647 00:39:18,200 --> 00:39:23,310 Posso digitare / strattone, come potete vedere in basso a sinistra, 648 00:39:23,310 --> 00:39:26,350 e quando digito entrare mette in evidenza tutte le istanze. 649 00:39:26,350 --> 00:39:34,160 Posso usare fondamentalmente n per saltare avanti e indietro tra tutte quelle istanze diverse, 650 00:39:34,160 --> 00:39:40,420 e supponiamo che voglio cercare e sostituire strappo con qualche parola a caso 651 00:39:40,420 --> 00:39:42,180 che è anche nel documento. 652 00:39:42,180 --> 00:39:47,070 Posso premere: per iniziare a digitare in una sorta di comando all'interno di Vim, 653 00:39:47,070 --> 00:39:49,610 qualche comando che è più sofisticato di muoversi 654 00:39:49,610 --> 00:39:51,370 o l'eliminazione o qualcosa di simile. 655 00:39:51,370 --> 00:39:56,860 Io digitare il simbolo% per indicare che voglio utilizzare questo comando di sostituzione 656 00:39:56,860 --> 00:39:58,230 sull'intero documento. 657 00:39:58,230 --> 00:40:02,380 Digitare s per la sostituzione. Questo viene da PEARL essenzialmente. 658 00:40:02,380 --> 00:40:07,040 E questo comando successivo è un comando piuttosto standard che troverete in PEARL 659 00:40:07,040 --> 00:40:09,790 e invece in altri linguaggi di programmazione che non avrai 660 00:40:09,790 --> 00:40:13,170 probabilmente iniziare a imparare come si fa più l'informatica, 661 00:40:13,170 --> 00:40:20,130 e posso praticamente usare / per digitare un /, digitare la parola che voglio trovare e sostituire 662 00:40:20,130 --> 00:40:24,280 e quindi digitare un altro / e digitare in qualsiasi parola voglio sostituire quella parola con. 663 00:40:24,280 --> 00:40:27,450 Chissà, forse NyanCat. 664 00:40:27,450 --> 00:40:30,390 Lo faccio, e poi vedrai che tutto ha ottenuto sostituito. 665 00:40:30,390 --> 00:40:34,000 >> Ma si noterà che c'è questa parola qui. 666 00:40:34,000 --> 00:40:37,620 Per qualche ragione alcuni dei nostri casi di strappo sono sostituiti, ma non tutti, 667 00:40:37,620 --> 00:40:40,250 e questo perché il modo in cui questo tipo di linguaggio è stato scritto 668 00:40:40,250 --> 00:40:43,550 non solo in Vim, ma in altri luoghi è che quando si esegue il comando di sostituzione 669 00:40:43,550 --> 00:40:46,470 sarà solo sostituire la prima istanza di quella parola in ogni riga, 670 00:40:46,470 --> 00:40:52,810 quindi se voglio sostituire effettivamente tutte le istanze della parola su ogni singola linea 671 00:40:52,810 --> 00:40:56,890 allora devo fare la stessa cosa, ma aggiungere il flag ag alla fine, 672 00:40:56,890 --> 00:41:00,810 che si distingue per il mondiale, e poi che sarà effettivamente 673 00:41:00,810 --> 00:41:06,200 sostituire tutte le istanze. 674 00:41:06,200 --> 00:41:09,710 E una volta imparate le espressioni regolari, c'è in realtà un seminario CS50 675 00:41:09,710 --> 00:41:12,120 sulle espressioni regolari, quindi se siete curiosi di sapere espressioni regolari 676 00:41:12,120 --> 00:41:16,970 si può anche prendere quel seminario e imparare di più. 677 00:41:16,970 --> 00:41:19,920 >> Ma per esempio, diciamo che ho una lista di nomi come questo, 678 00:41:19,920 --> 00:41:23,920 e voglio riorganizzare, così invece di avere il cognome, virgola, nome 679 00:41:23,920 --> 00:41:27,490 Voglio riorganizzare così dice il nome, lo spazio, il cognome. 680 00:41:27,490 --> 00:41:30,750 Si può effettivamente utilizzare questo comando qui 681 00:41:30,750 --> 00:41:33,600 per fare in sostanza che per te, così come si può vedere qui 682 00:41:33,600 --> 00:41:37,170 partiamo con una s, il che significa che vogliamo fare una ricerca e sostituzione, 683 00:41:37,170 --> 00:41:42,970 e poi ho aggiunto un flag chiamato \ v, che è qualcosa che si chiama questo flag magia 684 00:41:42,970 --> 00:41:45,810 in Vim che permette di fare le espressioni regolari più facilmente. 685 00:41:45,810 --> 00:41:49,370 Poi da lì abbiamo praticamente abbiniamo per ogni singola linea 686 00:41:49,370 --> 00:41:55,960 cioè della forma un insieme di parole, virgola, spazio, e un insieme di parole o di un insieme di lettere. 687 00:41:55,960 --> 00:41:59,240 \ W + significa sostanzialmente uno o più caratteri, 688 00:41:59,240 --> 00:42:04,030 e le parentesi vengono utilizzati per catturare questi gruppi 689 00:42:04,030 --> 00:42:06,120 così posso fare riferimento a loro più tardi. 690 00:42:06,120 --> 00:42:09,910 Come si può vedere, una volta che questi cattura 2 blocchi di parole 691 00:42:09,910 --> 00:42:11,690 che sono separati da una virgola, spazio 692 00:42:11,690 --> 00:42:15,510 allora quello che vogliamo sostituirlo con io uso \ 2 e \ 1 693 00:42:15,510 --> 00:42:18,130 di fare riferimento alle parole che sono stati catturati 694 00:42:18,130 --> 00:42:20,950 nel comando effettivo ritrovamento, 695 00:42:20,950 --> 00:42:24,970 e così \ 2 si riferisce a tutto ciò che è contenuto nel secondo set di parentesi, 696 00:42:24,970 --> 00:42:28,140 \ 1 si riferisce a ciò che è contenuto nel primo gruppo di parentesi, 697 00:42:28,140 --> 00:42:31,680 e come potete vedere, sto mettendo 2 prima 1 separati da uno spazio 698 00:42:31,680 --> 00:42:36,650 per cercare di spostare il primo nome prima del cognome. 699 00:42:36,650 --> 00:42:38,380 Ritiene che senso? 700 00:42:38,380 --> 00:42:43,450 >> E quello che posso fare è che posso nascondere questi primi così ho eseguito solo il comando su queste linee, 701 00:42:43,450 --> 00:42:53,720 e allora io digito in questo comando. 702 00:42:53,720 --> 00:42:57,050 Potete vedere fa esattamente come diviso. 703 00:42:57,050 --> 00:42:59,400 E ancora, questo è appena grattando la superficie, 704 00:42:59,400 --> 00:43:03,020 e se si va al seminario espressione regolare, allora sono sicuro che conoscere 705 00:43:03,020 --> 00:43:05,070 le cose molto di più che si possono fare con le espressioni regolari, 706 00:43:05,070 --> 00:43:08,910 e questo inizia sostanzialmente alludere a ciò che si può davvero fare con Vim 707 00:43:08,910 --> 00:43:10,850 se si inizia davvero a diventare un maestro di esso. 708 00:43:10,850 --> 00:43:14,520 Forse si vuole refactoring qualcosa, e si desidera trovare tutte le istanze 709 00:43:14,520 --> 00:43:16,980 di qualche funzione che segue una sorta di modello di denominazione. 710 00:43:16,980 --> 00:43:18,570 Si desidera cambiare il modo in cui sta nome. 711 00:43:18,570 --> 00:43:21,140 È possibile scrivere una sorta di comando come questo per farlo per voi, 712 00:43:21,140 --> 00:43:23,850 e questo è il tipo di flessibilità si può ottenere entro Vim 713 00:43:23,850 --> 00:43:30,210 che non sei solo andando ottenere in altri editor di testo. 714 00:43:30,210 --> 00:43:34,830 >> Che copre praticamente tutte le cose che volevo insegnare oggi al seminario di oggi, 715 00:43:34,830 --> 00:43:38,580 ma ancora una volta, ci tengo a sottolineare che se si vuole prendere Vim 716 00:43:38,580 --> 00:43:42,120 è vero che c'è una curva di apprendimento leggermente più alto all'inizio. 717 00:43:42,120 --> 00:43:44,230 In fin dall'inizio si sarà un po 'meno produttivi 718 00:43:44,230 --> 00:43:47,010 che probabilmente sarebbe diversa, ma se si bastone con esso 719 00:43:47,010 --> 00:43:49,890 nel giro di pochi giorni o poche settimane, a seconda di quanto velocemente si impara, 720 00:43:49,890 --> 00:43:56,300 si diventa molto, molto più veloce, e ho cercato di dare una dimostrazione 721 00:43:56,300 --> 00:43:59,070 su ciò che Vim è in grado di, ma non ho davvero avuto la possibilità di mostrare 722 00:43:59,070 --> 00:44:03,230 cosa succede quando ho normalmente, ad esempio, nella classe I tipo nei miei appunti con Vim. 723 00:44:03,230 --> 00:44:07,920 Ecco perché posso lavorare molto più velocemente in Vim che posso con qualsiasi altro programma. 724 00:44:07,920 --> 00:44:14,480 E 'letteralmente un aumento della produttività 2 o 3 volte in Vim rispetto ad altri programmi, 725 00:44:14,480 --> 00:44:18,800 non solo con la velocità di modifica del testo, ma anche nel modo in cui posso spostare tutto il documento 726 00:44:18,800 --> 00:44:21,510 e il modo in cui posso accedere ad altri file sul mio computer 727 00:44:21,510 --> 00:44:23,110 e saltare tra loro e così via e così via. 728 00:44:23,110 --> 00:44:27,600 E 'solo un davvero, davvero enorme aumento della produttività. 729 00:44:27,600 --> 00:44:30,550 >> Ma quando si sta imparando, si vuole fare in modo di imparare una cosa alla volta, 730 00:44:30,550 --> 00:44:34,970 e cercare di non sopraffare con troppi comandi diversi 731 00:44:34,970 --> 00:44:39,090 perché ci sono un sacco di comandi e un sacco di diverse scorciatoie che si può imparare in Vim. 732 00:44:39,090 --> 00:44:41,780 Si vuole prendere un po 'alla volta e nel corso degli anni 733 00:44:41,780 --> 00:44:48,990 gradualmente accumulare una comprensione sempre più grande di Vim. 734 00:44:48,990 --> 00:44:51,790 Se si desidera continuare ad imparare di più, questi sono alcuni degli argomenti più avanzati 735 00:44:51,790 --> 00:44:55,900 è possibile continuare a imparare, e anche questo tocca appena la superficie. 736 00:44:55,900 --> 00:44:59,050 Qui ci sono alcuni plugin popolari si può sentire libero di controllare e su Google 737 00:44:59,050 --> 00:45:03,750 e giocare con loro se si vuole e basta vedere che tipo di plugin sono là fuori. 738 00:45:03,750 --> 00:45:06,260 E poi alla fine di questo PowerPoint, includo un mazzo di collegamenti 739 00:45:06,260 --> 00:45:08,740 alle varie risorse che si possono usare per imparare. 740 00:45:08,740 --> 00:45:12,700 Qui ci sono un sacco di diversi collegamenti che è possibile utilizzare per iniziare con Vim. 741 00:45:12,700 --> 00:45:15,150 Hanno diversi tutorial e quant'altro, 742 00:45:15,150 --> 00:45:17,770 e, infine, queste sono alcune cose più avanzate si possono utilizzare 743 00:45:17,770 --> 00:45:19,790 di controllare anche fuori pure, 744 00:45:19,790 --> 00:45:22,340 alcuni calchi di schermo e alcune tecniche più avanzate a Vim 745 00:45:22,340 --> 00:45:26,450 ed anche alcuni pezzi diversi di codice sorgente si può cercare su GitHub 746 00:45:26,450 --> 00:45:28,760 basta guardare i file di configurazione di altre persone 747 00:45:28,760 --> 00:45:32,710 o per guardare plugin in Vim e così via e così via. 748 00:45:32,710 --> 00:45:40,380 >> Questo è tutto quello che ho per te. 749 00:45:40,380 --> 00:45:43,000 [CS50.TV]