[Seminari Vim] [Brandon Liu] [Harvard University] [Aquest és CS50.] [CS50.TV] Avui serà una introducció a Vim. Quants de vosaltres heu sentit parlar de Vim? Què ha escoltat sobre Vim? [Estudiant] Se soluciona tots els seus problemes. [Brandon L.] Se soluciona tots els seus problemes. Qualsevol altra cosa que vostès han sentit a parlar de Vim? Qualsevol impressions? [Estudiant] Gairebé totes les persones que he parlat li agrada utilitzar Vim. Oh, dolç. [Estudiant] Una gran quantitat de gent que conec li agrada fer servir Vim. Està bé, això és bo, perquè un munt de gent en CS51 començar a recollir, perquè Emacs Emacs té una mica millor suport per a l'idioma que utilitzarà en el CS51, i em preocupa que no hi ha prou gent a Harvard fan servir Vim, així que realment tractar de fer un bon treball de fomentar l'ús de Vim. Però aquí és un clàssic del còmic xkcd que vostès podrien trobar interessant. Han utilitzat Nano abans en absolut? Aquest còmic diu Nano? Programadors reals utilitzen Emacs. Ei, els programadors reals usen Vim. No, els programadors reals de l'ús d'Ed que és això-que no sempre voleu utilitzar Ed És molt, molt vell i molt malament, i els programadors reals utilitzen una agulla imantada i una mà ferma. I vostè pot llegir la resta, però és bastant divertit. I el curiós és al final. Ells diuen: "Oh, sí, per descomptat, hi ha una ordre de Emacs per fer això." El bo de Cx Mc M-papallona, ​​que és una espècie de punxada Emacs perquè Emacs és conegut històricament per ser una mica inflat i per disposar de comandaments per a gairebé qualsevol cosa, així que això és una mena de broma per Emacs. Què és Vim? Vim és l'editor de text d'un programador avançat. Tinc moltes ganes de fer la distinció entre l'editor de text i una mena processador de documents. Microsoft Word és conegut com un processador de documents. Podeu ajustar els marges, fer que les coses negreta, subratllat coses, ratllar coses, canviar la mida de font i altres coses. Un editor de text no fa res més que editar text. Literalment només has caràcters. No hi ha cap classe d'estil, mides, fonts, colors, ni res d'això. Tot el que fer és editar el text, i Vim ha estat fet especialment per a la programació. Té un munt de característiques incorporades en tan sols per a la programació. Està dissenyat expressament per a l'edició de text eficient. En general, Vim se sap que és bàsicament l'editor de text més ràpid que possiblement pot utilitzar en comparació amb qualsevol altre editor de text que és possible. Una gran quantitat de característiques d'IDE com no estan construïts directament en Vim, pel que si vostè ha fet servir un IDE i estàs acostumat a coses com compilar i executar de forma automàtica o depurar el que està en la teva IDE o tot un seguit de coses diferents Vim no inclou que, naturalment, però hi ha una gran quantitat de plugins que pots utilitzar per afegir aquest tipus de funcionalitat per Vim. Vim per si mateix se centra en l'edició de text i fa l'edició de text molt, molt bé. I, finalment, és molt personalitzable i extensible, i bàsicament Vim ha existit, o Vaig veure que Vim es basa, ha existit per més de 40 anys, i és un programa molt, molt profund, i la gent l'utilitzarà per a tota la vida i mai realment dominar el programa al màxim, i sempre seguir aprenent al llarg de la seva vida en els últims anys, convertint sempre és millor i millor. Bàsicament no hi ha fi al que es pot aprendre i el molt que es pot millorar amb Vim, que és realment emocionant. No vol veure-ho com una mica de por, ja que pot arribar a ser molt, molt competent en Vim en tan sols unes setmanes, però és una cosa així com una continuació sempre es pot aprendre més i aprendre més i fer millor les coses i millor, que és molt emocionant per a mi. Aquest és un exemple del Vim s'assembla. Això no és meu. Veuràs algunes demostracions en viu en aquests moments. Aquest és un exemple del que Vim podria ser similar. El que farem avui és que començarem amb  un aparador ràpida del Vim pot fer. Vaig a fer alguns trucs i altres coses per a vostès perquè pugui veure per què m'agrada tant Vim i per què la gent com Vim tant, i després a partir d'aquí entrarem en una suau introducció. En realitat, serà una mica més ràpid, una introducció a Vim. Li demanaré a vostès per descarregar un arxiu de text i de seguir, juntament amb mi, si pots. Es tracta de Vim, i aquí estic fent servir MacVim, així que si vostès tenen Macs és possible que vulgueu considerar l'ús de MacVim perquè és una versió gràfica de Vim, encara que el Vim regular, el que està en la línia d'ordres, funciona molt bé. Jo et vaig a mostrar alguns consells i trucs a l'atzar que es pot utilitzar en Vim a mostrar per què és tan cool. A només un parell de coses a l'atzar que vaig a passar. El primer és els objectes de text, i hi ha uns quants ordres al voltant dels objectes de text, i que en realitat t'ensenyaré quin text són objectes amb més detall més endavant en el seminari, però per exemple, diguem que et deixen anar malament el meu nom, Barndon Liu, i vull canviar-lo. Tot el que he de fer és aconseguir que el meu cursor en algun lloc del meu nom i escriviu la comanda CIW, i s'eliminarà tota la meva nom, em va posar en mode d'inserció, i puc escriure el meu nom i arreglar-ho. De la mateixa manera, si vull canviar alguna cosa entre cometes també hi ha una ordre per això. Puc esborrar coses dins de les cometes. Ja no haurà de fer doble clic, mogui la mà cap al ratolí, doble clic i escrigui alguna cosa interactiu Vostè pot fer tot, des del teclat, el que sigui. O, alternativament, direm que tinc aquesta etiqueta d'imatge dins d'aquesta etiqueta d'àncora. Han cobert HTML a la classe encara? Sí, així que potser vull esborrar aquesta etiqueta, que normalment el que has de fer és que vostè ha d'utilitzar el ratolí i ressaltar acuradament exactament el que vol esborrar i eliminar-lo. Però en Vim que està simplement DIT, i es pot eliminar a terme molt ràpidament, i vaig a explicar a vostè el que signifiquen tots aquests comandaments i com els faig servir en un segon. Un altre exemple, tinc una mica de codi aquí, i diguem que jo vull per sagnar el codi, però vull sagnar el codi només dins dels parèntesis, i també puc sagnar el codi usant 3 comandaments utilitzant bàsicament> iB. Una altra cosa que és realment bo de Vim és una cosa que es diu edició de blocs visual. No sé si vostès alguna vegada han volgut destacar un bloc rectangular de text al seu codi vegades en lloc d'haver de fer aquest tipus de cosa estranya línia que s'estén per totes les línies diferents. Per exemple, en Vim es pot fer això. Puc destacar rectangles com aquest, que està molt bé, però d'altra banda, puc editar amb aquesta funcionalitat. Per exemple, si vull donar algun tipus de prefix a tots els nostres noms Puc destacar un bloc i després afegir alguna cosa. De la mateixa manera, també puc destacar aquest bloc i optar per eliminar-lo, o potser vaig a destacar d'aquest bloc i el canvi a D perquè som tots els metges. Sigui el que sigui, pot fer totes aquestes coses diferents. Finalment, el plegat és realment genial. Una gran quantitat de IDEs tenen aquest on es pot doblegar diferents funcions fora de la vista en cas que no vol veure. Per exemple, suposem que tinc aquest munt de text aquí, i jo realment no vull veure-ho. Vull mantenir fora de la vista, perquè estic editant una mica més a l'arxiu. Puc doblegar de manera que tot es va esfondrar, i d'aquesta manera que és fora de la vista, i puc editar altres coses que estan a la pàgina, i això és realment genial. Pot doblar funcions i altres coses o doblegar les classes quan s'està programant només per mantenir-los fora de la vista quan no s'està editant ells, i més tard quan vulgui veure pots obrir-los. I es pot veure que acaba d'obrir tot. Aquí, tampons, i finestres. Vim està molt bé en aquest normalment en una gran quantitat d'editors de text només es pot editar un arxiu a la vegada, com en el Nano, o potser si vostè està utilitzant el Bloc de notes o Gedit. En realitat mai he utilitzat Gedit molt, però almenys en Notepad + + vostè pot tenir pestanyes, però Vim té el concepte de pestanyes, tampons i finestres. Per exemple, pot obrir un munt de noves pestanyes. Vostè pot veure aquí a la part superior que tinc ara un munt de fitxes, i puc tancar-les. A més, hi ha un concepte de tampons, que és la idea que un cop obert un arxiu que es manté viu en la memòria intermèdia, i si vols navegar a aquest arxiu molt ràpid vostè pot navegar a ell molt ràpidament dins de la memòria intermèdia i, i, a més, dins d'un panell també es pot dividir la finestra en múltiples finestres. Per exemple, si vull dividir aquesta finestra en múltiples finestres es pot veure aquí que jo pugui tenir el mateix codi dues vegades, i puc dividir més i més i més, i ara mateix no es veu tan bé perquè per defecte tinc la mida per defecte de la finestra sigui una mica gran de manera que tots els altres són aixafades a terme, però normalment quan estic en el meu ordinador i no en aquest projector Puc tenir diversos panells s'obren a la vegada, que és molt agradable per als editar diversos arxius al mateix temps. També pot fer que coses com seleccionar i reemplaçar, i anem a cobrir en realitat que en el seminari, així que em vaig a saltar això per ara. També pot interactuar amb la línia d'ordres en totes les classes de diverses maneres. Per exemple, si tinc algun tipus de llista d'aquí i vull arreglar- No sé, anem a afegir una altra fruita, raïm, i puc destacar aquest utilitzant la funció de ressaltat i cridar a una espècie, i classificarà automàticament per a mi. De la mateixa manera, si vostè va a ser l'edició de CSS, que suposo que és probable que farà per al seu projecte final, la majoria de la gent, i potser vol mantenir la seva CSS organitzat per ordenant-los en ordre alfabètic. També pot ressaltar ells i trucar a classificar, i que va a classificar per a vostè. Aquests són alguns dels exemples de les coses que Vim pot fer, i et donaràs compte de que la cosa clau que realment vull cridar l'atenció sobre és que estic fent tot des del teclat, i si vostè és capaç de veure on es col · loquen les mans també veurà que les meves mans mai es mouen de la fila central. Normalment, quan s'està editant text que en general ha d'utilitzar un ratolí i feu clic a tot i tot això, i aquest tipus de moviment que arrossega cap avall i una pèrdua de temps, o potser vostè s'està movent entre la fila a casa i les tecles de fletxa, i pel que s'està movent cap enrere i endavant com aquest, que és una mica molest però també li alenteix, i la cosa és que una vegada que arribi realment bo en Vim tot el que vols fer és fer sense haver de moure les mans des de la primera fila a casa, la qual cosa és genial. Espera, vaig a obrir aquesta aplicació. Això és. Ara vostè pot veure el que les comandes s'executen sota de la finestra inferior dreta. Totes les funcions que m'acaba d'aparèixer són les coses que s'inclouen per defecte amb Vim, però també hi ha un gran nombre de plugins que també es pot utilitzar per millorar la teva experiència de Vim. Si heu descarregat els arxius de configuració que vaig incloure, i hi ha instruccions sobre com instal · lar en el PowerPoint i també al correu electrònic que vaig enviar, he instal · lat prop de 40 plugins o potser 30 plugins, i tots i cadascun porta una funcionalitat addicional al Vim que millora la teva experiència de Vim. Per exemple, un dels meus favorits és una cosa que es diu surround.vim, i que bàsicament li permet treballar i la zona o la delimitació de caràcters molt més fàcilment. Un exemple, no sé si vostès alguna vegada en codi LaTeX, però LaTeX és un llenguatge de composició de matemàtiques que s'utilitza per fer realment agradable matemàtiques mirant, i quan vulgui alguna cosa perquè sembli matemàtiques vostè l'envolta entre signes de dòlar, i diguem que estic escrivint una mica d'equació com F = ma, i em vaig oblidar del que envolta a signes de dòlar. Llavors puc destacar això i l'envolta en signes de dòlars així com així. Alternativament, Vim li permet esborrar les coses dins de les etiquetes i eliminar les etiquetes i tot això, però Vim per naturalesa no permet canviar les etiquetes, així que per exemple, tinc aquesta etiqueta div, i vull actualitzar a HTML5 i utilitzar una nova etiqueta de capçalera. Jo puc fer el canvi que envolta l'etiqueta i el tipus en la capçalera, i canviarà automàticament que per a mi. De la mateixa manera, direm que tenim alguna cosa en parèntesi, i volia canviar això de parèntesi en els suports o alguna cosa per l'estil. També puc canviar això molt fàcilment teclejant en c per al canvi, s per so envoltant, els parèntesis. Oh, suposo que he d'escriure més ràpid. Els parèntesis i claus o claudàtors, i que canviarà automàticament que per a mi, que és molt bonic, en cas contrari, normalment és molt molest. Aquesta és realment agradable per passar de la cita potser només i cadenes de cometes dobles o alguna cosa així. Això és un cas exemple d'ús. Hi ha un plugin anomenat Fugitius que s'integra amb Git. Suposo que potser vostès no han utilitzat molt en Git CS50, però es trobarà usant Git més i més i més, no només en les classes a tota la Universitat de Harvard, sinó també en llocs de treball i tot això, i, normalment, ha de passar d' la línia d'ordres i Vim per interactuar amb Git, però hi ha plugins per integrar amb Git des Vim i també per donar-li encara funcionalitat addicional en la part superior de Git. Hi ha una cosa anomenada NERDTree, que es pot utilitzar per explorar les estructures d'arxius des de dins de Vim. Per exemple, jo puc obrir NERDTree en el panell de la dreta, i que, bàsicament, pot veure arxius a l'atzar i els impostos obertes-no, no es fixen en la meva declaració d'impostos. Vostè pot veure els arxius i altres coses i altres arxius oberts i així successivament i així successivament. I jo no vaig a entrar en aquests altres plugins, de manera que, bàsicament, es pot bussejar en i començar a treballar en Vim, però hi ha plugins que li permeten comentar amb més facilitat, els plugins que li permeten saltar entre arxius amb més facilitat, plugins que li donen la sintaxi de xecs dins Vim, que és realment genial, i et dóna la comprovació de sintaxi per a la majoria de les llengües només treure'l de la caixa, coses com parèntesi, arc de Sant Martí, que és en realitat molt, molt fresc. Deixeu-me donar-li un exemple d'això en aquests moments. Anem a veure. Aquí hi ha una mica de codi aleatori que estava escrivint, i et donaràs compte que els suports i els parèntesis són tots de color, i els parèntesis i els claudàtors del mateix color són coincidents, la qual cosa és bo i, de vegades millora la llegibilitat del codi. Vostè també té autocompletar, format tabular. Quan vostè té alguna cosa que desitja obtenir tots els comentaris a la línia o desitja fer una taula en el text i que desitja aconseguir tot per semblar-se a una bona taula, en lloc d'haver de formatar manualment hi ha plugins que format que per a vostè i així successivament i així successivament. La llista segueix i segueix i segueix. Podria passar hores explorant tots els diferents plugins Vim que existeixen, i és increïble el que hi ha allà fora. Preguntes fins ara? Sweet. En aquest cas, anem a començar a jugar amb Vim, i jo vull que vostès de treballar amb alguns Vim amb mi perquè pugui obtenir una idea d'ella, i et pot guiar en les seves primeres etapes de treball amb Vim pel fet que una gran quantitat de persones es deixin confondre quan obren Vim dalt, i de vegades, si vostè ni tan sols coneix la comanda per sortir ni tan sols es pot sortir de Vim, però no és tan dolent. Només té uns pocs minuts de l'orientació d'algú que hagi fet servir abans de Vim o per llegir alguns tutorials en línia, i vostè estarà en el seu camí en molt poc temps. Aquí hi ha algunes instruccions per instal · lar Vim si vostè no té ja. Vostè pot mirar aquestes diapositives després de la presentació Si voleu tenir més coses. També, aquestes són algunes instruccions per instal · lar fitxers de configuració, i vostè també pot seguir aquestes instruccions després si no ho ha fet. Si vostès poguessin anar a aquest enllaç i descarregar un arxiu de text. L'enllaç el portarà a aquesta imatge de text, que m'agradaria de descarregar i obrir en Vim, i hi ha un munt d'exercicis i tot això aquí que vostè pot seguir amb mi i comença a rebre una mica de pràctica amb algunes de les operacions bàsiques en Vim. Bé. Mentre que vostè està obrint fins que em vaig a donar una breu introducció a 2 principis molt importants en l'edició de Vim que són realment importants per entendre abans de submergir en Vim, i això és l'edició i els operadors i els moviments modal. Vaig a cobrir l'edició modal primer, i després anem a cobrir els operadors i els moviments aquí a una estona. La primera distinció clau entre Vim i gairebé tots els altres editors de text de qualsevol tipus és que Vim és un editor modal, i el que això significa és que quan vostè està utilitzant Vim vostè podria estar en un dels molts maneres diferents. No hi ha manera normal, no hi ha manera d'inserció, no hi ha manera visual, així successivament i així successivament, i la cosa és, les pulsacions del teclat assumeixen diferents accions, tenir un significat diferent, depenent de en quina manera està dins A tall d'exemple, la manera normal és la manera que està en tant es mou al voltant, i així m'agradaria utilitzar la tecla J per moure cap avall, però de cap manera d'inserció, s'utilitza la tecla J per escriure realment a terme J a la pantalla, i és per això que moltes persones es confonen perquè no estan acostumats a estar en diferents maneres tot el temps, i per tant estaran escrivint coses, i que està acostumat a tenir tot el que escrigui apareixeran a la pantalla, però en Vim potser el cursor es mou per tot el lloc perquè vostè està escrivint caràcters estranys, i de sobte arribar canviat a la manera d'inserció, ja que ha escrit algunes de les principals que es posa en mode d'inserció, i després el text comença volant, de manera que la gent es confon per això. Però vostè ha de portar un registre del que la manera que es trobi, i si ens fixem en la barra d'eines inferior de Vim ha d'haver un indicador que et diu en quina manera està actualment en, que ha de ser útil. Però, en general, els 3 modes principals que vostè ha de saber sobre, només hi ha probablement 6 o 7 o 8 modes o menys, però passa la major part del seu temps en 3. El primer és la manera normal. Aquí és on vostè passa la major part del seu temps. Totes les pulsacions de teclat es registren com una mena de comandament, i anem a aprendre molt d'aquests comandaments en tot el dia d'avui. L'altra manera és la manera d'inserció, que és on realment s'està escrivint coses, i manera d'inserció és, bàsicament, la manera que normalment estem acostumats. Vostè escrigui alguna cosa, i que només ve a la pantalla, i la manera visual és una cosa on es pot fer el ressaltat. Vostè va veure anteriorment que de vegades jo estaria ressaltat de text i la manipulació de diferents maneres, i això és un exemple usant la manera visual. Anem a començar amb els fonaments absoluts que necessita per sobreviure en Vim, i és bàsicament aquests 7 ordres aquí. Hjkl s'utilitzen per navegar per l'arxiu, i corresponen a l'esquerra, avall, amunt ia la dreta, i vostè és lliure d'utilitzar les tecles de fletxa, així, però realment ens animem a fer servir Hjkl tant com sigui possible perquè la idea és que mentre estàs editant, pots moure't pel document sense haver de canviar entre les tecles de fletxa i on vostè està escrivint, que és molt, molt agradable. El que desitja és passar uns pocs caràcters acabat. No ha de canviar tota la mà per sobre, i és força agradable tenir això. Alguns experts Vim en realitat un mapa de les tecles de fletxa per a altres funcions perquè ja tenen Hjkl, i poden usar les tecles de fletxa per a altres funcions també. Hjkl vostè es mou al voltant mentre estàs en la manera normal. Si vols entrar en la manera d'inserció i escrigui alguna cosa pot pressionar i per la manera d'inserció, i que et posa en la manera d'inserció, i vostè pot escriure alguna cosa, i el tipus escapar per arribar de manera d'inserció de tornar al mode normal. Fuig sempre t'envia de nou a manera normal independentment de la manera en què es trobi, i si vostè vol deixar podeu escriure: wq enter, i la forma en què vostè pot recordar que això és w estands per escriure, i q significa deixar de fumar, de manera que: wq, i el còlon s'executa la comanda, de manera que: wq enter per executar la comanda guarda i es tanca. Si obriu l'arxiu anirem cap amunt a través del primer exercici junts. Pas 1 sobreviu en Vim, i espero que vostès tots tenen aquesta oberta. Bé, i tenim alguns exercicis senzills perquè s'acostumi a usar aquestes tecles. Hjkl realment no sembla intuïtiva al principi, i aquest és un dels blocs inicials que la gent té en utilitzar Vim és l'ús d'aquestes tecles per navegar al voltant. No és intuïtiu, però un cop t'acostumes a ella el que realment s'integra en la seva ment, i moltes persones es troben sovint utilitzant J i K en Word o també a Chrome, i en realitat la gent ha creat aquest plugin Chrome anomenada Vimium que es pot utilitzar en Chrome o crom per navegar a través de Chrome amb el teclat usant dreceres Vim-com, de manera que la gent està molt entusiasmat amb ella, però seguir endavant i tractar d'utilitzar Hjkl per navegar entre els números només perquè pugui familiaritzar- amb com funcionen aquestes coses. Quan acabi això, també es pot anar i jugar amb aquest laberint que he creat només per diversió, i es pot ordenar de seguir la línia de punts i tractar de no xocar contra les parets i tractar d'arribar al final del laberint. Si utilitzeu dreceres a Gmail o qualsevol nombre de diferents aplicacions trobareu que J i K, per exemple, sovint s'utilitzen per desplaçar-se cap amunt i cap avall, i que bàsicament ve de Vim en essència, pel que té J i K, i és molt agradable perquè es pot moure cap amunt i cap avall sense haver de moure la mà cap enrere i endavant amb les tecles de fletxa. Ara anem a tractar d'entrar en la manera d'inserció i surt del mode d'inserció. Es donarà compte que en aquest moment de la meva cursor és un quadre gran, negre, i quan s'entra en la manera d'inserció que ha de trobar que esdevé un cursor estreta com vostè està acostumat. Si utilitzeu el Vim per el terminal és possible que no trobarà que això és el cas pel fet que la terminal no suporta aquest tipus de cursor prima, però si vostè està utilitzant MacVim o gvim a Windows , Llavors hauria de buscar que es converteixi en un cursor, i això és un indicador visual molt ràpid. És per tu saber si vostè està en la manera normal o la manera d'inserció. Seguirem endavant i tractar d'editar aquesta línia. Omplir amb la seva pròpia informació o el que sigui, i com vostè pot fer això és que vostè pot moure fins a l'extrem de la peça, Tipus I per entrar en la manera d'inserció, i vostè pot retrocedir i escriviu en nom seu, i quan hagi acabat d'escriure pot pressionar escapament per sortir del mode d'inserció, i pot passar per aquí, el tipus d'inserció que se suprimeixi aquest, tipus d'escapament per sortir del mode d'inserció, i es pot escriure: w entrar per desar el fitxer. Vostè pot escriure simplement: w per desar el fitxer. Vostè pot escriure simplement: q per sortir sense guardar, o pot escriure: wq per guardar i sortir. Per descomptat, no volem deixar de fumar, però, pel que podem escriure: w. I potser això semblava una mica ineficient al principi causa de traslladar-se a aquest lloc que havia d'escriure J un munt de vegades, potser L un munt de vegades per arribar a aquest punt, i vostè ha de prémer la tecla de retrocés un munt de vegades, i semblava realment ineficient mentre que normalment vostè probablement moure el punter del ratolí per allà, doble clic i comenci a escriure, i per descomptat, la cosa és que quan comenci amb Vim i només se sap que aquests ordres bàsiques, sí, serà una mica més lent, però aviat aprendrà alguns comandaments més poderosos, el que permetrà que vostè es mogui a través de documents de forma molt més ràpida, i vostè no haurà de tenir aquest ús molt molest de repetint i repetint Ks Js i Ls i així successivament i així successivament. Preguntes fins ara? Sòlid. Tornar al principi PowerPoint. Ara anem a introduir algunes més ordres per al moviment avançat. Van experimentar haver d'escriure molt o H molt potser L, i aquí hi ha alguns comandaments més que pot utilitzar per desplaçar-se més ràpidament. Suposem que el cursor està a la junta sobre el alguns a "Aquest és un text" i aquí hi ha 5 comandaments més que pot utilitzar per moure a través de la línia amb més facilitat. Així ^ i $ es mou al principi i final de línia, i en algun moment quan vostè aprèn les expressions regulars i altres diverses coses trobareu que aquest tipus de convenis són molt comuns. El ^ generalment es refereix al principi de la línia. Els $ generalment es refereix a la fi de la línia. Aquests són molt fàcils de recordar, i de manera similar, b, i, w, que són fàcils de recordar i perquè b correspon a enrere o de principi, I correspon a la final, que és el final de la paraula, i w correspon a la paraula següent, de manera que w per paraula. I si segueixes escrivint eo constantment escriure w t'adones que pot saltar entre les paraules, i és molt més ràpid que simplement escrivint l. Ara, el següent pas és el model d'operador-Motion. Això és en realitat una de les raons clau per les quals Vim pot ser tan poderós, i és degut a que essencialment pot compondre diferents elements en les funcions més potents, generalment, quan fas alguna cosa en Vim pot pensar en ella com la combinació d'un operador amb un moviment. Fins ara només hem tractat amb els moviments, com Hjkl. Ells es mouen al voltant, i després b i w, també a vosaltres es mouen de diferents maneres, però no hem anat encara a ser capaç d'esborrar coses o canviar les coses o el que sigui, i quan es combina amb els operadors de moviments llavors vostè és capaç de tenir molt més potents efectes, així per exemple, si volia esborrar 2 paraules, puc fer servir d per l'operador eliminació, i puc afegir un 2 per a indicar que vull esborrar 2 paraules, i després incloc una moció. Jo podria incloure w dir esborrar 2 paraules. Em vindria bé una mica com J dir eliminar la baixa 2 cops i eliminar 2 línies per sota meu. Jo podria dir D2B esborrar cap enrere dues vegades, i fins i tot hi ha més propostes que les que jo he mostrat aquí de veritat, de veritat que la seva edició de Vim molt més potent. Aquests són alguns dels més populars o els operadors més comuns i són bastant fàcils de recordar també. D per esborrar, c per al canvi. C és bàsicament la mateixa cosa com el canvi llevat que quan s'utilitza c automàticament es posa en mode d'inserció després. Normalment, quan s'utilitza l'eliminació d'usar-lo de la manera normal, i després d'eliminar alguna cosa que roman en la manera normal. Però si vols canviar alguna cosa, pot utilitzar c eliminar alguna cosa i després passarà immediatament a la manera d'inserció perquè pugui començar a escriure i arreglar alguna cosa. I és per una tirada. Es tracta bàsicament de la noció de còpia de Vim. Per exemple, si vull copiar els propers 2 paraules que puc fer y2w o alguna cosa així, i v és per destacar, en essència. I també el que és realment interessant és si escriu un operador dues vegades que actuarà sobre una línia sencera, de manera que si vull esborrar una línia completa Puc escriure dd per esborrar tota la línia, o si vull copiar tota la línia que pot utilitzar aa o alguna cosa per l'estil. Anem a provar això una mica més. Hi ha un exercici aquí per a un operador de moviment avançada, així i fins i tot algunes altres coses que no vaig a cobrir en el PowerPoint d'avui, però vostè pot sentir-se lliure per mirar per sobre d'ells més tard i jugar amb ells i familiaritzar-s'hi. Operadors i moviment. Per exemple, suposem que hi ha aquestes 2 paraules el que desitja eliminar en la sentència. El que vostè voldrà fer és que vostè voldrà assegurar-se que el seu cursor està al principi de la primera paraula que voleu suprimir, i vostè pot escriure d2w, i va a eliminar aquestes 2 paraules per a tu. I l'ús d'aquesta comanda exacte, d2w, que pot semblar una mica molest i sense sentit, però se suposa que ha d'expressar la idea que es poden compondre aquestes coses diferents, i també per si de cas vostè passa estar en la situació, llavors vostè pot acabar amb dw o d2w, que jo utilitzo de tant en tant. Dd i cc jo faig servir molt més sovint, ja que pot actuar en les línies senceres. Per exemple, diguem que tinc aquesta llista aleatòria aquí, i potser vull esborrar la línia que diu Huskies perquè no encaixa, perquè sí, i jo no vull que vagi a la manera d'inserció després. Vull eliminar-lo, en aquest cas jo podria escriure dd, i que va a esborrar tota la línia. Però diguem que ara hi ha aquesta altra línia que vull esborrar, però també vull arreglar i tornar a escriure, en aquest cas vaig a intentar alguna cosa com cc, i que esborra tota la línia, però em posa en la manera d'inserció, com es pot veure, i puc arreglar des d'allà. I hi ha moltes, moltes maneres diferents es poden combinar els operadors i arguments, i com s'utilitza Vim vegada més a aprendre més sobre les diferents maneres pot utilitzar aquestes comandes, i es convertirà en cada vegada millor. Impressionant, ara aquí hi ha alguns altres comandaments assortits que també són molt, molt utilitzats i també l'ajudaran a ser millor en Vim. Per exemple, parlem de minúscules v per ressaltar visual. També podem utilitzar majúscules V per ressaltat de la línia visual. D'aquesta manera vostè pot ressaltar línies senceres alhora amb molta més facilitat. Vostè pot utilitzar o quan s'està en mode normal per inserir bàsicament una nova línia sota de la línia que està actualment i el posa en mode d'inserció per començar a escriure. Feu servir minúscules x per esborrar el caràcter que es troba actualment sota el cursor. També pot utilitzar o per desfer, que és bastant agradable, i es pot usar majúscula adjuntar al final de la línia actual, així que potser el cursor està en algun lloc en la línia, i voleu afegir al final de la línia. Llavors vostè pot escriure majúscula per saltar immediatament al final de la línia i passarà a la manera d'inserció perquè pugui afegir al final de la línia. Crec que tinc alguns exercicis més del que podem provar. En realitat, no, no ho faig. No és per a aquells. Però comptem amb alguns exercicis per a la següent secció que ja veurem. Però aquests es poden provar a tu mateix també. Per exemple, si escriu en v regular, vostè aconseguirà destacar regular que vostè està acostumat a agradar això. Si escriu en el capital de V, es pot obtenir la línia completa destacant així, o si escric o en què, bàsicament, s'obrirà una nova línia per a mi, que és bastant agradable. X que pot utilitzar per eliminar caràcters a l'indicador. Puc premi x un munt de vegades i eliminar coses. Puc premi o per desfer tot això. A, puc escriure en un anar immediatament al final de la línia, i també he inclòs algunes altres tecles agradables que també es pot veure després de la presentació d'aprendre alguns altres comandaments. [Estudiant] Quin és el reemplaçament voltant? [Brandon L.] Recanvi també és molt cool i, bàsicament, si vostè va en algun lloc- Alguna vegada-la gent realment no utilitzar que falta molt més en aquests dies, però vostès mai vistos en Microsoft Word si escriviu Insereix de sobte entres en aquesta manera estrany on cada personatge s'escriu bàsicament substitueix el caràcter següent? No sé si vostès han vist mai això. Això és similar a això. Per exemple, si vull sobreescriure el que tinc actualment, per alguna raó Puc escriure en majúscula, i ara vaig a estar en mode de reemplaçament, com es pot veure a la part inferior esquerra. Si escric coses que sobreescriu les coses, i també puc retrocedir, que és una mena de fresc, i puc desfer això. No utilitzo molt sovint, però de tant en tant es converteix en la mà. Anem a parlar dels objectes de text, que és una de les meves coses preferides de Vim, la veritat. Els objectes de text són bàsicament aquesta noció de definir algun tipus de fragment de text dins del seu arxiu de text, i vaig a anar sobre aquestes tecles en primer lloc, i després et vaig a donar algunes manifestacions perquè vostè entengui millor el que això significa. W es refereix a una paraula, com un objecte de text com una paraula, de manera que algunes paraules com normalment ho sàpiga, i si hi ha puntuació que està al costat de la paraula llavors no va a incloure la puntuació general. Però per exemple, si voleu incloure la puntuació per alguna raó o que està fent una cosa que no és anglès i voleu incloure tots els personatges que estan delineats per espais en blanc també pot utilitzar el capital W per aconseguir tot el que està envoltat per espais en blanc. També pot utilitzar parèntesi per fer referència a un objecte de text això és aquí a un parell de parèntesis. Vostè pot fer el mateix amb claudàtors, parèntesis angulars, aparells ortopèdics, i cites, així, i finalment, també pot utilitzar t per referir-se a alguna etiqueta. Et vaig a ensenyar com es juga realment a terme. Per exemple, aquest és el meu primer exemple en el meu vitrina. Hi ha alguna paraula en aquesta frase que vull canviar, i parlem de W s'utilitza com un moviment, però també es pot utilitzar com un objecte de text com a tal. Per exemple, una forma en que podria canviar el nom de Barack o bàsicament modificar és que em podia anar al principi d'aquesta paraula i escriviu c per al canvi i w per paraula, i que va a eliminar la paraula i posar-la en la manera d'inserció. Però és molt molest per a mi haver d'anar al principi de la paraula tot el temps. Això és realment molest. Jo no vull haver de fer això. De fet, puc estar en qualsevol lloc dins del seu nom i el tipus d'assistent, i la i significa interior, pel que si escric en CIW que representa el canvi en una paraula, o en altres paraules, canviar la paraula que estic actualment a l'interior, i se li donarà el mateix efecte. Vostè pot arreglar això. De la mateixa manera, potser tinc una mica de cas com aquest on per alguna raó hi ha alguns delimitadors o alguna cosa per l'estil, o hi ha alguna cosa de puntuació, i volia esborrar tot l'assumpte. Si escric en CIW esborrarà el que hi ha dins d'aquests delimitadors, però vull aconseguir tot això que està envoltat per espais en blanc, així que puc utilitzar CIW per eliminar tot l'assumpte. T'escric en cinc, fer el mateix, i el tipus en sis. De la mateixa manera, si vull canviar alguna cosa que està dins dels parèntesis Puc escriure en ci) per eliminar tot el que està dins dels parèntesis i després omplir el que vulgui fer, com int argc, el que vulguis fer, i de manera similar, el mateix amb les cites. Puc arreglar el text que està dins de les cites, i jo també podem canviar les coses que estan dins de les etiquetes. Això té sentit? Una altra cosa que pots fer és que vostè no ha d'utilitzar c. També pot utilitzar d si voleu esborrar el que hi ha dins d'aquestes etiquetes. Si vull esborrar el text dins d'una etiqueta que pugui usar dit eliminar aquesta etiqueta. També puc utilitzar vit per ressaltar el que està dins de l'etiqueta, per exemple. L'altra cosa és que en lloc d'utilitzar i en el medi també es pot utilitzar una, que significa per a tots, per tal de recordar si utilitza i que vaig a referir a fi de text o utilitzar un objecte de text que està contingut dins dels delimitadors, però si s'utilitza una que inclourà aquest text, així com el propi delimitador. Per exemple, si vull destacar aquest text i l'etiqueta que envolta Puc utilitzar la tina, v per al punt culminant visual, una per a tots, i després t per l'etiqueta. Vostè pot fer alguna cosa com això també. Potser vull esborrar aquest google.com amb les cometes al voltant d'ell també, i puc servir alguna cosa com dóna "per esborrar tot això, per exemple. Preguntes fins ara? M'adono que estic abocament en tu un munt de Vim ordres alhora, i això és bàsicament perquè vull exposar a tots els diferents ordres i li donarà una introducció al que aquestes comandes es pot fer en Vim. Però el que va a haver de passar és quan torni vostè va a haver de prendre suaument aquestes comandes un per un. No vol aclaparar a tu mateix, perquè això és massa aclaparador. Si vostè vol recollir Vim el que ha de fer realment és Començaré amb la primera sèrie bàsica, i m'he trencat cap amunt en lliçons per a vostè que fan que sigui més fàcil perquè vostè segueixi, i tractar de dominar cada conjunt d'ordres un a un, un a la vegada. És massa que fer tot alhora, així que el que ha de fer quan es va de tornada és anar a la primera lliçó, que és Hjkl, la manera d'inserció, escapa en mode normal, i guardar i deixar de fumar, i això és tot el que necessites per sobreviure en Vim, i obtenir molt, molt còmoda amb això. I després d'uns dies, una vegada que estàs molt a gust amb què vostè ha de passar als operadors de moviment més avançades, els moviments més avançats, i en què els operadors i així successivament i així successivament. Sé que estic passant molt, però vull aconseguir exposat a un munt de coses diferents. Però en cas que estigui llest per al repte, et puc mostrar com es pot posar tot això junt amb el la majoria del que acabem d'aprendre avui, i també es pot seguir al llarg de si vostè vol, però he creat una mica d'exercici a l'atzar. Suposem que tenim una espècie de llista com aquesta on vostè té aquests blocs amb noms de les persones, cases, any, i les concentracions i tot això, i voleu afegir una nova entrada per si mateix. Quina és la millor manera per tu per fer això? Anem a fer-ho d'aquesta manera. Per què no primer Destaquem aquest bloc. Esteu seleccionar-lo, i pot prémer i donar una tirada a ella, de manera que ara tenim, bàsicament, pot copiar i enganxar aquesta plantilla primer sense haver de reescriure tot l'assumpte des del principi. Ara vaig a Premeu J per un munt de vegades per anar cap avall, i vaig a Premeu p per enganxar-lo. Potser vaig a afegir algunes línies addicionals per un espai, i diguem que ara vull canviar el seu nom pel d'algú. Llavors puc anar aquí i escriviu c2w com abans de canviar aquest nom. Bob Jones, qui sap. Potser si vull canviar la casa que jo puc entrar al mig aquí i el tipus d'CIW i posar Cabot House. Aquí pot ser un exemple que és possible que vulgueu considerar l'ús de la manera de substitució per canviar el seu any de graduació si vols, o també podem utilitzar CIW també. No importa. Potser vostè vol canviar la seva especialitat. I això és el que fas. I potser vaig a donar-li una demostració del que podria fer si jo fos-si continua per aprendre les ordres més avançats en Vim perquè estem tot just esgarrapant la superfície aquí, i el que podia fer aquest tipus d'edició fins i tot més ràpid del que t'he mostrat aquí perquè sé més comandaments que no he tingut l'oportunitat de mostrar-li a l'actualitat. Per exemple, si vull destacar això puc fer-ho així, moure cap avall. He afegit el meu propi mapatge bàsicament ressaltar automàticament les coses per a mi i puc-No ho sé. Vull dir, això és només tractar de mostrar que vostè pot realment començar a editar les coses més ràpidament, especialment quan vostè té tots aquests diferents camps, i, normalment, el que podria estar fent és una espècie de clic i posar en relleu i escrivint. Vostè pot fer tot alhora, copiar i enganxar, movent-se cap amunt i cap avall entre l'arxiu, només delimita coses, format coses. Tot això es pot fer molt, molt més ràpidament en Vim. Només una última cosa que crec que pot ser molt agradable, que és buscar i reemplaçar. Aquells de vostès que han utilitzat els mètodes abreujats de Gmail vostè també sap que si escrius / vostè li envia al quadre de cerca, i en un gran nombre d'aplicacions en general trobaràs que slash o potser el control de barra o alguna cosa a veure amb la barra posarà en una mena de mode de cerca, i que també, bàsicament, ve de Vim essencialment pel fet que l'operador de barra o la comanda barra li permet introduir una mena de cadena que es pot utilitzar per buscar dins del document. Pots n i N majúscula per anar a la següent i l'aparició anterior, i també es pot fer servir alguna cosa semblant a buscar i reemplaçar en el document. Et vaig a donar una demostració del que es pot fer. Potser si vull trobar totes les instàncies de la cadena de tirada dins d'aquest document Puc escriure / tirada, com es pot veure a la cantonada inferior esquerra, i quan escric introduir destaca totes les instàncies. Puc utilitzar bàsicament n per saltar cap enrere i endavant entre tots els diferents casos, i suposem que vull buscar i reemplaçar estirada amb alguna paraula a l'atzar això és també en el document. Puc pressionar: per començar a escriure en una mena de comandament dins de Vim, alguns comandaments que és més sofisticat de moure o eliminar, o alguna cosa així. Vaig a escriure el signe% per referir-se al que vull utilitzar aquesta comanda de substitució en tot el document. Introduïu s per a la substitució. Això ve de la PERLA essencialment. I dit ordre és una ordre bastant estàndard que trobarà a LA PERLA lloc i en altres llenguatges de programació que vostè va a Probablement començarà a aprendre a fer més ciència de la computació, i jo, bàsicament, puc fer servir / per escriure a /, escriviu la paraula que vull buscar i reemplaçar a continuació, escriviu un altre / i escriure en qualsevol paraula vull reemplaçar aquesta paraula. Qui sap, potser NyanCat. Jo faig això, i llavors veuràs que tot se substitueix. Però et donaràs compte que hi ha aquesta paraula aquí. Per alguna raó alguns dels nostres casos d'èxit se substitueixen però no tots, i això es deu a la forma en què aquest tipus de llenguatge s'ha escrit no només en Vim però en altres llocs és que quan s'executa la comanda de substitució només va a substituir la primera instància de la paraula en cada línia, pel que si vull substituir realment totes les instàncies de la paraula en cada línia llavors he de fer el mateix, però afegir-hi la bandera de ag al final, que significa global, i després que en realitat substituir totes les instàncies. I una vegada que aprengui les expressions regulars, en realitat hi ha un seminari CS50 en expressions regulars, així que si ets curiós sobre les expressions regulars també pot prendre aquest seminari i aprendre més. Però per exemple, direm que tinc una llista de noms d'aquest tipus, i vull arreglar, així que en lloc de tenir el cognom, una coma, el nom Vull reorganitzar pel que diu el primer nom, l'espai, el cognom. En realitat es pot utilitzar aquesta comanda aquí a veure, fonamentalment, que per a vostè, així com es pot veure aquí comencem amb una s, el que significa que volem fer una recerca i reemplaçament, i després he afegit una bandera anomenada \ v, que és una cosa que es diu aquesta bandera màgia en Vim que li permet fer les expressions regulars amb més facilitat. Després, des d'allí ens bàsicament Partit per una sola línia que és de la forma d'un conjunt de paraules, coma, espai i un conjunt de paraules o un conjunt de lletres. \ W +, bàsicament, significa un o més caràcters, i els parèntesis s'usen per capturar aquests grups perquè pugui revisar posteriorment. Com podeu veure, una vegada que aquestes captures 2 blocs de paraules que estan separats per una coma, un espai llavors el que volem substituir-lo per és ús \ 2, \ 1 fer referència a les paraules que van ser capturats en la comanda actual troballa, etc \ 2 es refereix al que està contingut en el segon parell de parèntesis, \ 1 fa referència al que està contingut en el primer conjunt de parèntesis, i com es pot veure, m'estic posant 2 abans de l'1 separades per un espai per tractar de moure el primer nom abans del cognom. Això té sentit? I el que puc fer és que puc amagar aquests primers així que només executa aquesta comanda en aquestes línies, i després em introdueixo en aquesta comanda. Es pot veure que fa exactament com dividit. I de nou, això és tot just rasca la superfície, i si vas al seminari expressió regular llavors estic segur que aprendrà molt més diferents coses que pots fer amb les expressions regulars, i això, bàsicament, comença a fer al · lusió al que realment pot fer amb Vim si realment comença a convertir-se en un mestre de la mateixa. Potser vostè vol refactorizar alguna cosa, i vol trobar totes les instàncies d'alguna funció que segueix algun tipus de patró de nomenclatura. Voleu canviar la forma en què ha nomenat. Vostè pot escriure una mena de comandament com aquest per fer això per vostè, i aquest és el tipus de flexibilitat que pot obtenir dins de Vim que vostè no aconseguirà en altres editors de text. Que bàsicament cobreix totes les coses que volia ensenyar avui al seminari d'avui, però una vegada més, el que realment vull fer èmfasi que si vostè vol recollir Vim bé és cert que hi ha una corba d'aprenentatge una mica més alt en el principi. En el primer moment que serà una mica menys productiva del que probablement seria d'una altra manera, però si ens atenim a ella d'aquí a uns pocs dies o unes poques setmanes, depenent de la rapidesa amb que s'aprèn, es convertirà en molt, molt més ràpid, i jo vaig tractar de donar-li una demostració en el que és capaç de Vim però en realitat no tenen l'oportunitat de mostrar el que passa quan-per exemple, normalment, a la classe I tipus en les meves notes amb Vim. Això és perquè puc treballar molt més ràpid en Vim del que pot amb qualsevol altre programa. És, literalment, un augment de la productivitat 2 o 3 vegades en Vim en comparació amb altres programes, no només amb la velocitat d'edició de text, sinó també en la manera que pugui moure pel document i la forma en que puc accedir a altres arxius en el meu ordinador i saltar enmig d'ells i així successivament i així successivament. És només una molt, molt gran impuls de la productivitat. Però quan estàs aprenent, vostè vol assegurar-se que s'aprèn una cosa alhora, i tractar de no aclapari amb massa comandaments diferents perquè hi ha una gran quantitat d'ordres i una gran quantitat d'accessos directes que es pot aprendre en Vim. Vol recollir una mica a la vegada i amb els anys acumular gradualment una comprensió cada vegada més gran de Vim. Si vols seguir aprenent més, aquests són alguns dels temes més avançats vostè pot seguir per aprendre, i fins i tot això just grata la superfície. Aquests són alguns plugins populars que vostè pot sentir lliure de visitar i Google ells i jugar amb ells si vols, i acaba de veure quin tipus de connectors hi són fora. I després, al final d'aquest PowerPoint, incloc un munt d'enllaços a diversos recursos que pot utilitzar per aprendre. Aquí hi ha un munt de diferents enllaços que pot utilitzar per començar a treballar amb Vim. Tenen diferents tutorials i tot això, i, finalment, aquestes són algunes coses més avançades que pot utilitzar també de comprovar cap a fora també, alguns motlles de pantalla i algunes tècniques més avançades en Vim i també algunes peces diferents de codi font que poden buscar en GitHub només per veure els fitxers de configuració d'altres persones o mirar plugins en Vim i així successivament i així successivament. Això és tot el que tinc per a tu. [CS50.TV]