[Семинар Vim] [Брендон Лиу] [Универзитетот Харвард] [Ова е CS50.] [CS50.TV] Денес се случува да биде вовед во Vim. Колкумина од вас момци имаат слушнато за Vim? Што сте слушнале за Vim? [Студентите] Таа решава сите ваши проблеми. [Брендон Л] Таа решава сите ваши проблеми. Ништо друго вие момци сте слушнале за Vim? Секое впечатоци? [Студентите] Речиси сите Сум разговарал со сака да го користите Vim. Ох, слатка. [Студентите] Многу луѓе што ги знам сакале да ја користат Vim. Добро, тоа е добро, бидејќи многу луѓе во CS51 почне да ги собереш Emacs, бидејќи Emacs има малку подобра поддршка за јазикот ви се случува да се користи во CS51, и јас се загрижени дека не е доволно луѓе на Харвард користат vim, па јас навистина се обиде и да направи добра работа на поттикнување на Vim употреба. Но, тука е класичен xkcd стрип кој вие момци може да најдете интересни. Дали сте момци користи Нано пред на сите? Овој стрип вели Нано? Реал програмерите користат Emacs. Еј, вистински програмерите користат Vim. Не, вистински програмерите користат Ед што е ова-не секогаш сакаат да ги користат Ед. Тоа е навистина, навистина стари и навистина лошо, и во реално програмерите користат на магнетизирани игла и сигурна рака. И можете да го прочитате остатокот, но тоа е прилично смешен. И смешно е на крајот. Тие велат: "О, да, се разбира, тука е команда Emacs да го стори тоа." Старите добри Cx Mc М-пеперутка, која е вид на удар на Emacs бидејќи Emacs е историски познат да биде малку подуени и да имаат команди за речиси ништо, па тоа е вид на шега за Emacs. Што е Vim? Vim е уредувач на текст со напредно програмерот. Јас навистина сакате да се направи разлика помеѓу текст едитор и нешто како документ процесор. Microsoft Word е познат како документ процесор. Можете да го поставите на маргините, направат работите храбар, underline работи, штрајк низ градот, промена на големината на фонтот и какво ли не. А текст едитор не прави ништо повеќе од само уредување текст. Буквално само треба карактери. Нема вид на стил, големини, фонтови, бои, или нешто слично. Сите вие ​​направите е да се уреди текст, и Vim е посебно направен за програмирање. Таа има многу функции изградена за само за програмирање. Тоа е дизајниран исклучиво за ефикасно уредување на текст. Во принцип, Vim е познато да биде основа најбрз текст едитор што веројатно може да се користи во споредба со било кој друг уредувач на текст кој е можно. А многу ИРО-како карактеристики не се изградени директно во vim, па ако сте користеле IDE и сте се користи за нешта како компајлирајте и извршете автоматски или дебагирање она што е во вашиот IDE или цела низа на различни нешта Vim не доаѓа со кои природно, но постои цела низа на додатоци кои можете да ги користите за да додадете тој вид на функционалноста на Vim. Vim по себе се фокусира на уредување на текст и не уредување на текст, навистина, навистина добро. И, конечно, тоа е навистина индивидуализира и растеглива, и во основа Vim е околу, или VI, кој Vim е изградена врз, е околу за повеќе од 40 години, и тоа е многу, многу длабоко програма, и луѓето ќе го користат за цел живот и никогаш не навистина господар на програмата на нејзината потполност, и секогаш ќе продолжи учење низ вашиот живот во текот на годините, секогаш станува подобро и подобро. Има основа нема крај на она што можете да дознаете и колку може да се подобри со vim, што е навистина возбудливо. Вие не сакате да ја видите како нешто страшно, бидејќи може да стане многу, многу умешен во vim во само неколку недели, но тоа е вид на како еден континуиран- секогаш можете да дознаете повеќе и да дознаете повеќе и да прават работите подобро и подобро, кој е вид на возбудлив за мене. Ова е пример на она што Vim изгледа. Ова не е мое. Ќе видите некои живеат демонстрации во моментов. Ова е пример на она што Vim може да изгледа. Што ние ќе правиме денес е ние ќе започнете со  брз покажат на она што Vim може да направи. Јас ќе одам да направите некои трикови и какво ли не за вас момци па можете да видите зошто ми се допаѓа Vim толку многу и зошто луѓето како Vim толку многу, а потоа од таму ќе одиме во нежна вовед. Всушност, тоа ќе биде малку брзо, вовед во Vim. Јас ќе ве прашам момци да ја преземете текст фајл и да го следат заедно со мене, ако можеш. Ова е vim, и токму тука сум со користење MacVim, па ако вие момци имаат Macs можеби ќе сакате да се разгледа со користење MacVim затоа што тоа е графички верзија на vim, иако редовно vim, она што е во вашата команда линија, работи само парична казна. Одам да ви покаже неколку случајни совети и трикови дека можете да го користите во vim да ви покаже зошто тоа е толку кул. Само неколку случајни нешта јас ќе одам да одат преку. Првото нешто е текст предмети, и постојат неколку команди околу текстот објекти, и јас всушност ќе ви учат што текстот објекти се во повеќе детали подоцна во текот на семинарот, но за пример, да речеме јас напишано моето име не е во ред, Barndon Лиу, и јас сакам да го промени. Се што треба да направите е да се добие ми курсорот некаде во мое име и тип во команда CIW, а тоа ќе ја избришете целата моето име, ме стави во вметнете режим, и јас да напишете во Мое име и да ја поправите тоа. Слично на тоа, ако сакам да се промени нешто во наводници таму е исто така команда за тоа. Можам да се избрише нешта внатре цитати. Нема повеќе има да кликнете два пати, се движат својата рака во текот на глувчето, двоен клик, и потоа напишете нешто назад внатре Можете да го направите сè, од тастатурата, што и да е. Или алтернативно, да речеме имам сликата таг во овој сидро таг. Дали сте момци покриени HTML во класа уште? Да, па можеби и јас сакате да ја избришете оваа ознака, кои нормално она што треба да направите е што треба да го користите вашиот глушец и внимателно се потенцира токму она што сакате да ги избришете и избришете го. Но во vim тоа е едноставно dit, и можете да го избришете од навистина брзо, и јас ќе да ви објаснам што значи сите оние команди и како можете да ги користите во секунда. Друг пример, имам некои код овде, и да речеме јас сакате да вовлекувате код, но јас сакате да вовлекувате кодот само во рамките на загради, и јас исто така може да вовлекувате кодот користење на 3 команди користење основа> Б. Друга работа што е навистина кул за VIM е нешто што се нарекува визуелна блок уредување. Јас не знам дали вие момци имаат некогаш сте сакале да се потенцира правоаголна блок од текст во вашиот код понекогаш наместо да го направите ова чудно вид на линија нешто што ги спојува сите различни линии. На пример, во vim можете да го направите тоа. Можам да се потенцира правоаголници како овој, што е прилично кул, но освен тоа, јас да ги менувате користење дека функционалноста. На пример, ако сакам да им даде некој вид на префиксот на сите наши имиња Можам да обележува блок, а потоа додадете нешто. Слично на тоа, јас, исто така, може да се потенцира овој блок и да изберат да го избришете, или можеби и јас ќе ја нагласи овој блок и измени го D, бидејќи сите ние сме доктори. Што и да е, можете да го направите сите овие различни нешта. Конечно, виткање е навистина кул. А многу идеите имаат оваа, каде што може да се свитка различни функции надвор од погледот во случај да не сакате да ги видите. На пример, да претпоставиме имам куп текст тука, и јас навистина не сакате да го видите. Сакам да го задржи надвор од поглед, бидејќи јас сум за уредување нешто друго во датотека. Можам да го свитка, па тоа е сите се распадна, и на тој начин тоа е надвор од поглед, и јас да ги менувате други работи кои се на страната, и тоа е навистина голем. Можете да се свитка функции и какво ли не или свитка класи кога сте програмирање само за да ги задржи надвор од поглед, кога вие не сте ги уредувате, а подоцна кога ќе сакате да ги видите можете да ги отвори. И можете да видите дека само отвори сè што. Јазичиња, амортизери, и прозорци. Vim е прилично кул во тоа нормално во многу текст едитори можете само да си променувате една датотека во исто време, како во Нано, или можеби ако сте користење на Notepad или gedit. Јас сум всушност никогаш не се користи Gedit многу, но барем во Notepad + + ќе може да има јазичиња, но Vim има концепт на јазичиња, амортизери и прозорци. На пример, можете да се отвори еден куп на нови табови. Може да се види тука во самиот врв имам сега еден куп на јазичиња, и можам да ги затвори. Исто така, постои овој концепт на амортизери, што е идејата дека откако ќе се отвори датотеката тоа останува жив во тампон, и ако сакате да стигнете до таа датотека навистина брзо можете да стигнете до тоа навистина брзо во тампон, како и, и освен тоа, во рок од една панелот можете исто така да се подели вашиот прозорец нагоре кон повеќе прозорци. На пример, ако сакам да се подели овој прозорец нагоре кон повеќе прозорци можете да видите тука што може да имаат ист код двапати, и јас може да се подели повеќе и повеќе и повеќе, и сега таа не изгледа дека добро затоа што по дифолт имам големина стандардно прозорец да се вид на големи така што сите други се отфрлено надвор, но обично кога сум на мојот компјутер, а не на овој проектор Јас може да има неколку панели се отвори во исто време, што е навистина убаво за уредување на повеќе датотеки во исто време. Можете исто така да се работи како изберете и да ја замени, и ние всушност ќе ги покрие дека на семинарот, па јас ќе го прескокнете дека сега за сега. Исто така можете да комуницирате со командната линија во сите видови на различни начини. На пример, ако имам некој вид на листа овде и сакам да го решите тоа- Не знам, да додадете друг овошје, грозје, и можам да го потенцира ова со користење на нагласување функција и повик вид, и тоа ќе го средиме автоматски за мене. Слично на тоа, ако си оди за да се уредување на CSS, која претпоставувам најверојатно ќе се прави за вашите финалниот проект, повеќето луѓе се направи, а можеби сакате да го задржите вашиот CSS организирана од страна на сортирање ги по азбучен ред. Можете исто така да ги нагласи и повик вид, и ќе ги средиме за вас. Ова се некои од примерите на она што Vim може да направи, и ќе забележите дека клучот нешто што навистина сакам да привлече вашето внимание на е дека јас го правам сè, од тастатурата, и ако сте во можност да се види каде моите раце се поставени исто така, ќе видите дека никогаш не моите раце навистина се движат од дома ред. Нормално, кога сте уредување текст обично треба да го користите глувчето и кликнете наоколу и какво ли не, и тој вид на движење ќе влече надолу и отпад време, или можеби сте се движат помеѓу домашната ред и стрелките на тастатурата, и така да се движат напред и назад како што, што е малку тежок но исто така ви го успорува, и она е штом еднаш ќе добиете навистина добри во Vim сè што сакате да направите е да се направи без да се движите рацете од почетната ред, што е одлично. Чекај, јас ќе одам да се отвори оваа апликација. Таму ќе одиме. Сега можете да се види она што командите се трчаат долниот десен прозорец. Сите функции кои јас само покажа што се работите кои се вклучени стандардно со vim, но исто така има голем број на додатоци кои можете да го користите да се подобри вашиот Vim искуство. Ако сте ја превзеле на конфигурациските датотеки што се вклучени, и постојат упатства за тоа како да ги инсталирате во PowerPoint а исто така и во е-мејл јас испрати, имам околу 40 приклучоци инсталиран или можеби 30 приклучоци, и секој еден носи дополнителна функционалност да Vim која ја подобрува вашата Vim искуство. На пример, еден од моите омилени е нешто што се нарекува surround.vim, а во основа тоа ви овозможува да работите со околните или разграничување карактери многу повеќе лесно. Еден пример, јас не знам дали вие момци некогаш кодот во латекс, но LaTeX е математика наборен јазик кој се користи да се направи навистина убав математика, и кога сакаш нешто да се погледне како математика ќе ја заврши во долар знаци, и да речеме јас сум пишување некои равенки како f = ма, и јас заборавив да го заврши во долар знаци. Тогаш можам да се потенцира ова и замотајте ја во долар знаци исто како што. Алтернативно, Vim ви овозможува да ги избришете нешта внатре тагови и да го избришете тагови и какво ли не, но Vim по природа не ви дозволуваат да се промени тагови, така и за пример, имам овој div таг, и сакам да се надополни со HTML5 и се користи нова заглавието таг. Што можам да направам промена околните таг и тип во насловот, и тој автоматски ќе се промени тоа за мене. Слично на тоа, да речеме имаме нешто во заграда, и јас сакав да го промени тоа од загради во заграда или нешто слично. Јас, исто така може да го промени тоа навистина лесно со впишување на в за промена, Кликнете ОК за опкружувачки, загради. Ох, претпоставувам дека мора да го напишеш побрзо. Загради и загради или загради, и тоа автоматски ќе се промени тоа за мене, што е навистина убаво, инаку нормално тоа е навистина тежок. Ова е навистина убаво да се префрлате помеѓу можеби една понуда и наводници жици или нешто слично. Тоа е еден пример употреба случај. Има додаток наречен Бегалецот кое се интегрира со Git. Јас сум Сомневајќи се можеби вие момци не се користи Git дека многу во CS50, но ќе се најдете со користење Git се повеќе и повеќе и повеќе, не само во класи во текот на Харвард, но исто така и на работните места и какво ли не, и нормално треба да се вратиш назад и напред меѓу командната линија и Vim за да комуницирате со Git, но има додатоци за да се интегрираат со Git од рамките Vim а исто така и да ви даде дури и дополнителна функционалност на врвот на Git. Има нешто што се нарекува NERDTree, кои можете да ги користите за да истражуваат структури на датотеката од рамките Vim. На пример, јас може да се отвори NERDTree на десната страна, и вие во основа може да се види Случајни фајлови и отворена, а не даноци, не гледам моите даноци. Може да се погледне на датотеки и какво ли не и отворен други датотеки и така натаму и така натаму. И јас нема да одам во овие други додатоци, така што во основа може да се нурне во и почне да работи на vim, но постојат додатоци кои ќе ви овозможи да полесно коментира, додатоци кои ќе ви овозможи да скокаат меѓу датотеки полесно, додатоци кои ви даде синтакса проверка од рамките vim, што е навистина кул, и тоа ви дава синтакса проверка за повеќето јазици право надвор од кутијата, работи како виножито загради, кој е всушност навистина, навистина кул. Дозволете ми да ви даде пример на тоа токму сега. Ајде да видиме. Еве некои случајни код кој јас пишував, и ќе забележите дека загради и загради се сите обоени, и загради и загради со иста боја се совпаѓаат, што е убаво а понекогаш и ја подобрува читливоста на вашиот код. Можете исто така имаат автоматско довршување, табеларен форматирање. Кога имате нешто што сакате да ги добиете сите коментари да се редат или сакате да се направи табела во вашиот текст и сакате да се добие сè да изгледа како убаво маса, наместо да го форматирам тоа рачно постојат додатоци кои ќе го форматирам тоа за вас и така натаму и така натаму. Листата продолжува и натаму и натаму. Можев да минам часови истражување на сите различни Vim додатоци кои постојат, и тоа е неверојатно што има таму. Било какви прашања досега? Слатка. Во тој случај, ние ќе треба да се започне поигрува со vim, и јас сакам вие момци да соработуваш со некои Vim со мене па може да се добие чувство за тоа, и можам да ве упати во вашите први чекори кои работат со Vim затоа што многу луѓе се премногу задоволни кога тие се отвори Vim нагоре, а понекогаш и ако дури и не знаат командата за да излезете ти не можеш ни да излезат на vim, но тоа не е толку лошо. Вие само треба неколку минути од водство од некој кој има искористено Vim пред или да прочитате некои упатства на интернет, и ќе бидете на вашиот пат во кратко време. Тука се и некои инструкции за инсталација Vim ако веќе не сте. Можете да го погледнете на овие слајдови по презентацијата ако сакате да го инсталирате повеќе нешта. Исто така, овие се некои инструкции за инсталирање на мојот конфигурациските датотеки, и ти исто така може да се следат овие упатства подоцна, ако веќе не сте. Ако вие момци можат да одат на овој линк и да ја преземете текст фајл. Врската ќе ве однесе на овој текст фајл, кој би сакал да го преземете и да се отвори во vim, и постојат еден куп на вежби и какво ли не таму дека може да се следи со мене и започне да добива некои пракса со некои од основните операции во vim. Добро. Додека сте отворањето дека до Одам да се даде краток вовед за да 2 навистина клучните принципи во vim уредување, кои се навистина важно да се разбере пред да нурне во vim, и тоа е модални уредување и оператори и предлози. Јас ќе ги покрие модални уредување прво, а потоа ние ќе ги опфати операторите и предлози во малку. Првиот клуч разлика помеѓу VIM и доста сите други текст едитори на било кој вид е дека VIM е модален уредник, и што значи тоа е кога сте со користење Vim може да биде во една од многуте различни режими. Има нормален режим, постои вметнете на владата, таму е визуелна режим, така натаму и така натаму, и нешто е, на вашиот тастатурата преземе за различни активности, земе на различно значење, во зависност од она што владата си внатре Само како пример, нормален режим е на владата дека сте во кога ќе се движат наоколу, и така јас би го користите копчето J за да се движат надолу, но во вметнете режим, можете да користите клучни J за да всушност тип од Ј на екранот, и тоа е причината зошто многу луѓе се збунети затоа што не си се користи за да се во различни режими цело време, и така тие ќе бидат пишување работи надвор, и сте се користи за да се има она што ги пишувате се појавуваат на екранот, но во vim можеби курсорот се движи насекаде бидејќи сте пишување чудни ликови, и одеднаш добивате префрли во вметнете режим, бидејќи сте ја внеле некои клучни дека ве става во вметнете режим, а потоа Текстот започнува летање, па луѓето се збунети поради тоа. Но мора да ги пратите на она што владата сте во, и ако се погледне на самото дно лентата со алатки на Vim таму треба да биде показател дека ви кажува она што владата сте во моментов во, кои треба да бидат од корист. Но, во принцип, на 3 главни начини треба да знаете за, има само веројатно 6 или 7 или 8 режими или така, но вие поминуваат поголемиот дел од вашето време во 3. Првото нешто е нормален режим. Ова е местото каде што поминуваат поголемиот дел од вашето време. Сите кратенки се забележани како некој вид на команда, и ние ќе се учат многу од тие команди во текот на денешниот ден. Другите владата е вметнете на владата, која е местото каде што всушност се пишува работи надвор, и вметнете на владата е во основа на начинот сте обично се користат за. Можете да напишете нешто, и тоа само доаѓа на екранот, и визуелни режим е нешто каде што можете да направите осветлување. Видовте порано каде понекогаш и јас би се осветлување на текстот и тоа манипулирање на различни начини, и тоа е еден пример со користење на визуелни режим. Ќе започнете со апсолутна основите што треба за да преживее во vim, и тоа е во основа овие 7 команди во право тука. HJKL се користат за да се движите низ датотека, и тие одговараат на лево, долу, нагоре, и десно, и вие ќе бидете слободни да го користите ги копчињата со стрелки, како и, но ние навистина ве охрабруваме да ги користите HJKL колку што е можно бидејќи идејата е дека додека ја уредувате, можете да се движите низ документот без да се префрлат меѓу копчињата со стрелки и каде што го пишувате, што е навистина, навистина убаво. Вие само сакате да ги преместите неколку ликови одново. Вие не треба да се префрлат целиот предаде, а тоа е вид на убаво да се имаат тоа. Некои Vim експерти всушност мапа своите стрелките да се други функции бидејќи тие веќе имаат HJKL, и тие можат да ги користат нивните стрелките за други функции, како и. HJKL ќе се движи околу додека сте во нормален режим. Ако сакате да се оди во вметнете режим и напишете нешто можете да го притискам за вметнување на владата, и дека ве става во вметнете режим, и можете да напишете нешто, а вие пишувате бегство да се добие од вметнување на владата во нормален режим. Избега секогаш те враќа назад во нормален режим без разлика што на владата сте во, и ако сакате да ја напуштат можете да напишете во: Wq влезат, и начинот на кој можете да се сеќава на ова е W залага за запишување, и q се залага за престанам, па: Wq, и дебелото црево работи на командата, а така: Wq влезе да ја извршите командата место и излегува. Ако ја отворам датотеката, тогаш ние ќе одиме во текот на првата вежба заедно. Чекор 1 преживува во vim, и се надевам дека вие момци имаат овој отворени. Добро, а ние имаме неколку едноставни вежби за вас да се навикнеш на користење на овие копчиња. HJKL навистина не изгледа интуитивен во прво време, и ова е еден од првичните блокови кои луѓето имаат при користење Vim е користење на овие копчиња за да се движите наоколу. Тоа не е интуитивен, но штом ќе се навикнеш на него тоа навистина се интегрира во вашиот ум, и многу луѓе често се најдат себеси користење на J и K во Word или, исто така, во Хром, а всушност луѓе имаат креирано овој Хром додаток наречен Vimium кој можете да го користите во Хром или хром да се движите низ Хром користење на вашата тастатура користење Vim како кратенки, па луѓето се многу ентузијасти за тоа, но повелете и обидете се и употреба HJKL да се движите меѓу броеви само така можете да се запознаат со тоа како овие работи работата. Откако ќе заврши тоа, исто така можете да одите и да се позанимавам со овој лавиринт Јас создаде само за забава, и на некој начин може да се следат точки линија и не се обидуваат да се сруши во ѕидовите и се обиде да го направи до крајот на лавиринтот. Ако користите кратенки во Gmail или било кој број на различни апликации ќе најдете дека J и K, на пример, често се користат да се движат нагоре и надолу, и дека, во основа доаѓа од Vim суштина, па имате J и K, и тоа е навистина убаво, бидејќи можете да се движите нагоре и надолу, без да се се движат својата рака напред и назад од стрелките на тастатурата. Сега, ајде да се обидеме да навлегуваме во вметнување на владата и излегување од вметнување на владата. Ќе забележите дека во моментов ми курсорот е голема, црна кутија, и кога одите во вметнување на владата треба да се најде дека се претвора во тесни курсорот како сте навикнати да. Ако сте со користење Vim во терминал може да не најдете тоа да биде случај бидејќи на терминалот не поддржува овој вид на тенки курсорот, но ако сте со користење MacVim или GVim на Windows тогаш треба да се најде дека тоа се претвора во курсорот, и тоа е навистина брзо визуелен индикатор. Тоа е за вас да се каже дали сте во нормален режим или вметнување на владата. Ајде да одиме напред и да се обидат уредување на оваа линија. Исполнувај ја со свој информации или што и да е, и како можете да го направите тоа е да може да се движи до крајот на празно, Тип I да се влезе во вметнување на владата, и можете да Backspace и внесете го вашето име, а кога ќе завршиш пишување можете да притиснете бегство да се излезе од вметнување на владата, и можете да се движите овде, тип вметнете да ги избришете тоа, тип бегство да излезе од вметнување на владата, и што можете да напишете: W внесете да ја зачувате датотеката. Можете да напишете во само: W да ја зачувате датотеката. Можете да напишете во само: q да се откажат без зачувување, или можете да напишете во: Wq да се спаси и да престанам. Готово, ние не сакаме да се откажат од уште, па можете да напишете во: W. И можеби тоа изгледаше малку неефикасни во првиот бидејќи за да се преселат во тоа место ти мораше да напишеш Ј еден куп на пати, можеби L еден куп на пати за да стигнат до тоа место, и ќе треба да притиснете backspace еден куп пати, и се чинеше навистина неефикасна додека нормално најверојатно ќе го движите глувчето врз таму, двоен клик и почнете да пишувате, и се разбира, на работа е, кога за прв пат се започне со VIM и знам само дека овие основни команди, Да, тоа ќе биде малку побавен, но наскоро ќе научат некои помоќни команди, кој ќе ви овозможи да се движи низ документи многу побрзо, а вие не ќе мора да ја имаат оваа многу тежок употреба на повторување ЈС и повторување KS и ЛС и така натаму и така натаму. Било какви прашања досега? Солидна. Вратете се на PowerPoint. Сега ние ќе треба да се воведе уште неколку команди за напредни движење. Сте искусни имаат да напишеш можеби L многу или H многу, и тука се и некои повеќе команди можете да го користите да се движи околу побрзо. Да претпоставиме дека вашиот курсорот е на О над во некои "Ова е дел од текстот" и тука се 5 повеќе команди можете да го користите да се движат низ линија полесно. Значи ^ и $ ќе се преселат во почетокот и на крајот линија, и во одреден момент, кога ќе научат регуларни изрази или други разни работи ќе најдете дека овие вид на конвенции се многу чести. На ^ генерално се однесува на почетокот на линијата. На $ обично се однесува на крајот на линијата. Овие се многу лесно да се запомни, и слично, Б, Е, и W, тие се лесно да се запомни, како и поради б одговара да се врати или почетокот, e одговара на крај, што е на крајот на збор, и w одговара на следниот збор, па w за збор. И ако продолжуваш да пишувате e или да пишувате w ќе забележите можете да скокнете помеѓу зборовите, а тоа е многу побрзо отколку само пишување л. Сега, следното нешто е Оператор на движење модел. Ова е всушност една од клучните причини зошто Vim може да биде толку моќен, и тоа е затоа што во суштина може да компонира различни елементи во повеќе моќни функции, па генерално кога ќе се направи нешто во vim можете да мислам на тоа како комбинирање на оператор со движење. Досега сме само се занимаваа со предлози, како HJKL. Тие ќе се движат наоколу, а потоа б и w, тие исто така ќе се движат околу различни начини, но ние не се качил уште да биде во можност да ги избришете нешта или променат работите или какво ли не, и кога ќе се комбинираат оператори со предлог тогаш сте во можност да имаат многу повеќе моќни ефекти, па на пример, ако сакав да ги избришете 2 зборовите, можам да користам г за бришење оператор, и можам да додадете 2 за да се покаже дека сакате да ја избришете 2 зборовите, а потоа јас вклучуваат движење. Јас би можеле да вклучат w е да се каже избришете 2 збора. Јас може да се користи нешто како J за да се каже избришете надолу 2 пати и да го избришете 2 линии под мене. Можам да кажам D2B да ги избришете наназад двапати, и има дури и повеќе предлог од оние што сум прикажана овде навистина, навистина да направите вашиот Vim уредување многу помоќен. Ова се некои од најпопуларните или најчесто оператори и се прилично лесно да се запомни, како и. D за бришење, в за промена. C е во основа иста работа како промена, освен што кога ќе го користите в автоматски се стави во вметнете режим потоа. Нормално, кога имате потреба при користење бришење ќе го користат од нормалниот режим, и откако ќе ги избришете нешто ви остане во нормален режим. Но, ако сакате да се смени нешто, можете да го користите в да избришете нешто, а потоа веднаш одат во вметнување на владата па можете да почнете да пишувате и да ја поправите нешто. Y е за yanking. Тоа е во основа идејата Vim на копирање. На пример, ако сакам да го копирате следните 2 зборовите што можам да направам y2w или нешто слично, и V е за истакнување, во суштина. И, исто така, она што е навистина кул е, ако сте тип оператор двапати тоа ќе делува на целата линија, па ако сакам да ги избришете една цела линија Јас да напишете дд да ја избришете целата линија, или ако сакам да го копирате целиот линија можам да користам гг или нешто слично. Да се ​​обидеме оваа нешто повеќе. Има една вежба тука за напредна движење оператор, како и па дури и некои други работи јас не одам да се покријат во PowerPoint денес, но можете да се чувствуваат слободни да се погледне над нив подоцна и се позанимавам со нив и да се запознаат со нив. Оператори и предлози. На пример, да претпоставиме постојат овие 2 зборови само сакате да ги избришете во реченицата. Што ќе сакате да направите е ќе сакате да бидете сигурни дека вашата курсорот е на почетокот на првиот збор што сакате да ја избришете, и можете да напишете во d2w, а таа ќе ги избрише оние 2 зборовите за вас. И користење на овој точната команда, d2w, може да се чини малку незгодни и бесмислен, но тоа би требало да го искажат идеја дека може да компонира овие различни нешта, и, исто така, само во случај ви се случи да биде во ситуација, тогаш можете да постигнете со користење DW или d2w, што јас ги користат повремено. Дд и кубика јас го користам многу често затоа што може да дејствува на целата линии. На пример, да речеме имам случаен избор листа овде, и можеби и јас сакате да ја избришете линијата која вели Huskies поради тоа што не се вклопува, само затоа што, и јас не сакам тоа да се оди во вметнување на владата потоа. Сакам да ја избришете, во кој случај би можел да напишеш дд, и дека ќе ја избришете целата линија. Но, ајде да се каже сега, тука е тоа друга линија што сакате да ја избришете, но исто така сакам да го поправам и преправи ја, во кој случај ќе се обидам нешто како кубика, и дека ги брише целата линија, но ме става во вметнување на владата, како што можете да видите, и можам да го поправам од таму. И постојат многу, многу различни начини може да се комбинираат оператори и предлози, и како ќе го користите Vim се повеќе и повеќе ќе научат повеќе за различни начини можете да го користите овие команди, и ќе стане подобро и подобро. Прекрасно, сега тука се и некои други избрани команди кои исто така се многу, многу често се користат и, исто така, ќе ви помогне да стане подобар во Vim. На пример, ние разговаравме за мали v за визуелна осветлување. Ние, исто така може да се користи големи букви V за визуелна линија осветлување. На тој начин можете да акцентирате целиот линии во исто време многу повеќе лесно. Можете да го користите o кога сте во нормален режим во основа се вметне нова линија под линијата која моментално се наоѓате и го ставив во вметнување на владата да почнете да пишувате. Можете да го користите мали X да ја избришете карактер кој во моментов е под курсорот. Исто така можете да го користите U за да го вратите, која е вид на убаво, и можете да го користите главниот град А до додаваат на крајот на тековната линија, па можеби курсорот е некаде на линија, и сакате да го додадете во крајот на линијата. Тогаш можете да напишете капитал А веднаш да скокнете до крајот на линијата и да си одат во вметнување на владата, така што можете да го додадете на крајот на линијата. Мислам дека имам уште неколку вежби за тоа што можеме да го пробате. Всушност, не, јас не. Не за нив. Но ние имаме некои повеќе вежби за следниот дел кој ќе видиме. Но овие можете да го пробате себе како добро. На пример, ако сте тип во редовни V, ќе добиете редовно нагласувајќи дека сте навикнати да се допаѓа ова. Ако го напишете во главниот град V, можете да добиете целосна линија истакнување како што, или ако сум тип во о тоа во основа ќе се отвори нова линија за мене, која е вид на убаво. X можам да ги користите за да избришете знаци на курсорот. Можам да притиснете x еден куп пати и да го избришете нешта. Можам да притиснете U за да го вратите сето тоа. А, јас да напишете во А веднаш да се обратите до крајот на линијата, и јас исто така се вклучени неколку други убави копчиња дека исто така може да се погледне по презентацијата да научат некои други команди. [Студентите] Што е замена за? [Брендон Л] Замена исто така е навистина кул и во основа ако одите некаде- Дали некогаш сте-луѓе навистина не го користите дека многу повеќе, овие денови, но вие момци видел во Microsoft Word, ако сте тип вметнете вие одеднаш одат во овој чуден владата каде што секој лик што пишувате во основа го заменува следниот карактер? Јас не знам дали вие момци го видел некогаш тоа. Ова е слично на тоа. На пример, ако сакам да ја пребришете она што јас во моментов имаат поради некоја причина Јас да напишете во главниот град на Р, и јас сега ќе биде во заменат владата, како што можете да видите во долниот лев. Ако сум тип материјал го презапишува работи, и јас исто така може да Backspace, која е вид на ладно, и јас може да го вратите тоа. Јас не го користат многу често, но секој сега и тогаш тоа ќе стане поедноставно. Ајде да зборуваме за текстот објекти, која е една од моите омилени нешта за vim, искрено. Текст предмети се во основа идејата за дефинирање на некои вид на парче од текст во внатрешноста на вашиот текст фајл, а јас ќе одам во текот на овие копчиња прво, а потоа јас ќе ви даде некои демонстрации за вас да се повеќе се разбере целосно она што значи тоа. W однесува на зборот, како текст објект како еден збор, па некој збор како што нормално го знам тоа, и ако има интерпункциски знаци дека е веднаш до зборот тогаш тоа не ќе вклучува интерпункција генерално. Но на пример, ако сакате да ги вклучите интерпункција поради некоја причина или правиш нешто што не е англиски и сакате да ги вклучите сите ликови, кои се обрабени со празни места исто така можете да го користите главниот град W да се добие сè што е опкружен со празни места. Исто така можете да користете загради за да се однесуваат на текстот објект тоа е внатре во собата на голема заграда. Можете да го направите истото со загради, аглести загради, загради, и цитати, како и, и, конечно, исто така можете да т го користите да се однесуваат на некои таг. Дозволете ми да ви покаже како тоа всушност игра надвор. На пример, ова е мојата прва пример во мојот покажат. Има некои зборови во оваа реченица која сакам да се промени, и ние разговаравме за W се користи како движење, но вие исто така може да го користи како текст објект како така. На пример, еден начин би можел да го смени името Барак или во основа ја менувате е можев да одам до почетокот на овој збор и тип во C за промена и w за збор, и дека ќе го избришете целиот збор и го ставив во вметнување на владата. Но тоа е многу досадно за мене да мора да одат на почетокот на зборот цело време. Тоа е навистина досадно. Не сакам да мора да го направите тоа. Јас всушност може да биде било каде во неговото име и напишете во CIW, и јас се залага за внатрешна, па ако сум тип во CIW таа се залага за промена во еден збор, или со други зборови, промена на зборот Јас сум моментално во внатрешноста, и тоа ќе ви даде точен истиот ефект. Можете да го поправите тоа. Слично на тоа, можеби имам некои случај како овој каде поради некоја причина постојат некои Раздели или нешто слично, или има некои интерпункција, и јас сакав да го избришете целата работа. Ако сум тип во CIW таа ќе ги избрише она што е внатре во овие Раздели, но сакам да се добие целата работа што е опкружен со празни места, па јас да го користите CIW да ја избришете целата работа. Јас ќе тип во пет, го прават истото, и напишете во шест. Слично на тоа, ако сакам да се промени нешто што е внатре во загради Јас да напишете во CI) да ги избришете сè што е внатре во загради а потоа пополнете што сакам да се направи, како int argc, она што сакате да го направите, и слично, истото со цитати. Јас може да се поправат текст кој е во внатрешноста на цитати, и јас исто така може да се променат работите кои се во внатрешноста на тагови. Дали тоа има смисла? Друга работа е што можете да направите е да не мора да се користи в. Исто така можете да го користите г, ако сакате да ги избришете она што е внатре во овие тагови. Ако сакам да го избришете текстот во внатрешноста на таг можам да користам dit да ги избришете дека таг. Јас, исто така може да се користи Вит да се потенцира она што е внатре таг, на пример. Од друга работа е, наместо користење на јас во средината исто така можете да го користите, која се залага за сите, па не заборавајте ако користите i тоа ќе се однесуваат на текстот објект или да користите текст објект кој е содржана во внатрешноста на Раздели, но ако се користи тоа ќе вклучуваат дека текстот, како и раздвојувачот себе. На пример, ако сакам да се потенцира овој текст и околните таг Можам да користам ДДВ, v за визуелни нагласи, една за сите, а потоа т за таг. Можете да го направите такво нешто како добро. Можеби и јас сакате да ја избришете оваа google.com со наводници околу неа, како и, и можам да користам нешто како ДА "да ги избришете сите на тоа, на пример. Било какви прашања досега? Сфаќам дека сум фрлање на вас многу Vim команди сите одеднаш, и ова е во основа, бидејќи сакам да ве изложи на сите различни команди и да ви даде вовед на она што овие команди прават во vim. Но, она што се случува да треба да се случи е кога ќе се вратам ви се случува да треба да полека ги собереш овие команди една по една. Вие не сакате да се победат, бидејќи тоа е премногу големо. Ако сакате да ги собереш Vim она што имаат да навистина е започне со првиот основен сет, а јас сум го растурени во лекции за вас кои го прават тоа полесно за вас да го следат, и се обиде да го совладате секој сет од команди еден по еден, едно по едно време. Тоа е премногу да се направи сè одеднаш, па она што треба да направите кога ќе се вратиме IS оди на првата лекција, која е HJKL, вметнување на владата, избега во нормален режим, и заштеда и напуштање, и тоа е се што навистина треба за да преживее во vim, и да добијат навистина, навистина удобно со тоа. И по неколку дена откако сте многу удобно со тоа треба да се движи кон понапредни движења оператори, повеќе напредни предлози, и за да се оператори и така натаму и така натаму. Знам дека ќе одам низ многу, но сакам да ви се изложени на многу различни нешта. Но, во случај да сте се за предизвикот, можам да ви покажам Како може да се стави сето тоа заедно со користење на повеќето од она што го научиле само денес, и исто така можете да го следат заедно, ако сакате, но јас создаде некои случајни вежба. Да претпоставиме дека имаме некој вид на список како ова каде што треба овие блокови со имиња на луѓето, куќи, години, и концентрации и какво ли не, и сакате да додадете нов запис за себе. Кој е најдобар начин за да го направите ова? Да го сториме тоа како оваа. Зошто не ние прво се потенцира овој блок. Си оди за да го изберете, и ние може да y притиснете за да ја американец, па сега ние во основа може да копирате и залепите оваа дефиниција прв без да се преработи целата работа од нула. Сега ќе Притиснете J надолу еден куп пати да одат надолу, и јас ќе притиснете p за да ја залепите. Можеби и јас ќе додадете некои дополнителни линии за простор, и да речеме сега сакам да го промени вашето име на некого. Тогаш можам да одам тука и напишете во c2w како пред да го промените тоа име. Боб Џонс, кој знае. Можеби ако сакам да се промени куќата можам да одам во средината тука и тип во CIW и го стави Кабот куќа. Овде може да биде пример за тоа каде можеби ќе сакате да се разгледа користење владата замена за промена на вашето дипломирање година, ако сакате, или ние, исто така, може да се користи CIW, како и. Тоа не е важно. Можеби сакате да ги промените вашите големи. И тоа е она што го правите. И можеби и јас ќе ви даде демонстрација на она што може да се направи ако јас се-ако продолжиш да дознаете повеќе напредни команди во vim бидејќи ние сме едвај гребење по површината овде, и јас би можел да се направи овој вид на уредување дури и побрзо отколку што сум ви е прикажано тука бидејќи знам повеќе команди кои јас не сум добил шанса да ти го покажам за денес. На пример, ако сакам да го потенцира ова можам да го направи тоа како што, се движи надолу. Јас додадов мојот мапирање во основа автоматски се потенцира работи за мене и можам да-не знам. Мислам, ова е само се обидува да ти докажам дека можете навистина, навистина на проектот за уредување работи побрзо, особено кога ќе ги имаат сите овие различни области, и нормално она што може да се прави е вид на кликнување и истакнување, а потоа пишување. Можете да го направите сето она одеднаш, копирање и вметнување, се движат нагоре и надолу помеѓу датотека, само го опишуваат нешта, форматирање нешта. Сето ова може да се направи многу, многу побрзо во vim. Само еден последен малку нешто што мислам дека може да биде навистина убаво, кој е да се најде и да го замени. Оние од вас кои го користеле Gmail кратенки исто така, ќе знаат дека ако го напишете во / таа ви праќа до полето за пребарување, и во многу различни апликации воопшто ќе најдете дека црта или можеби се контролира коса црта или нешто да се направи со коса црта ќе ви стават во некој вид на режим на пребарување, и дека, исто така, во основа доаѓа од Vim суштина бидејќи коса црта оператор или црта команда ви овозможува да го внесете некој вид на стринг кој можете да го користите за пребарување во рамките на документот. Можете n и капитал N за да се оди на следното и претходната појава, и исто така можете да го користите нешто слично за пребарување и да ја замени во рамките на документот. Јас ќе ви даде демонстрација на она што може да се направи. Можеби ако сакам да ги најдете сите случаи на стрингот американец во овој документ Јас да напишете во / американец, како што можете да видите во долниот лев агол, и кога ќе напишеш внесете го нагласува сите инстанци. Можам да користам основа n да скокнете назад и напред меѓу сите оние различни случаи, и ајде да претпоставиме дека сакам да пребарувате и да ја замените американец со некои случајни збор тоа е, исто така, во документот. Можам да притиснете: да почнете да пишувате во некој вид на команди во рамките vim, некои команда која е пософистициран од движат околу или бришење или нешто слично. Јас ќе тип во знакот% да се однесува што сакате да го користите оваа замена команда на целиот документ. Напишеш во за замена. Ова доаѓа од БИСЕР суштина. И овој следната команда е прилично стандардни команда која што ќе најдете во PEARL наместо да и во други програмски јазици кои ти ќе најверојатно почнат да учат како да се направи повеќе компјутерски науки, и јас во основа да го користите / да напишеш /, тип во зборот што сакате да го најдете и да ја замени и потоа внеси друг / и тип во она што зборот што сакате да го замени тој збор со. Кој знае, можеби nyancat. Јас го правам тоа, а потоа ќе видите дека сè доби заменет. Но, ќе забележите дека има овој збор овде. Поради некоја причина некои од нашите случаи на американец се заменуваат но не сите, и тоа е поради начинот на кој овој вид на јазик е напишано не само во vim, но и на други места е дека кога ќе се кандидира на замена команда тоа само ќе ја замени првата инстанца на тој збор во секоја линија, па ако сакам да всушност ги замени сите случаи на зборот на секоја линија тогаш морам да го прават истото, но додадете AG знаме на самиот крај, која се залага за глобална, а потоа дека, всушност, ќе замени сите инстанци. И штом еднаш ќе ги научат регуларни изрази, таму е всушност CS50 семинар на регуларни изрази, па ако сте љубопитни за регуларни изрази исто така можете да се земе дека семинарот и да научат повеќе. Но, за пример, да речеме јас имам листа на имиња како оваа, и јас сакам да го преуредите, па наместо презиме, запирка, првото име Сакам да го преуредите така што вели првото име, просторот, презиме. Можете да го користите оваа команда, токму тука да суштина прават тоа за вас, така што можете да видите тука ние почнуваме со с, што значи ние сакаме да се направи пронаоѓање и заменување, а потоа јас додаде знаме наречен \ V, што е нешто што се нарекува оваа магија знаме во vim кој ви овозможува да направите регуларни изрази полесно. Потоа од таму ние во основа се совпаѓаат за било една линија тоа е од формата збир на зборови, запирка, простор, и сет од зборови или збир на букви. \ W + во основа значи еден или повеќе знаци, и загради се користат за снимање на овие групи за да можам да се однесуваат на нив подоцна. Како што можете да видите, еднаш овие фаќање 2 блокови од зборови кои се одделени со запирка, простор тогаш она што сакаме да го замени со е јас го користам \ 2 и \ 1 да се навратиме на зборовите кои беа заробени во конкретната најдете команда, и така \ 2 се однесува на она што е содржано во вториот сет на загради, \ 1 се однесува на што е содржан во првиот сет на загради, и како што можете да видите, јас сум ставање 2 пред 1 одделени со празно место за да се обиде и да се движат на првото име пред презиме. Дали тоа има смисла? А што можам да направам е можам да се скрие овие први па јас само ја извршите оваа команда на овие редови, а потоа јас ќе тип во оваа команда. Можете да видите тоа го прави токму како поделени. И повторно, ова е едвај гребење на површината, и ако одите на регуларниот израз семинар, тогаш јас сум сигурен дека ќе научат многу повеќе различни работи што можете да направите со регуларни изрази, и ова всушност ќе почне да алудираат на она што навистина може да се направи со Vim ако навистина почне да стане господар на неа. Можеби сакате да refactor нешто, и ако сакате да ги најдете сите случаи на некоја функција што следува некој вид на именување шема. Сакате да го смените начинот на кој е именуван. Можете да напишете некој вид на командата вака да го стори тоа за вас, и тоа е вид на флексибилност може да се добијат во рамките на Vim дека сте само нема да добие во другите уредувачи на текст. Тоа во основа ги опфаќа сите нешта, сакав да ве научи денес во денешниот семинар, но повторно, јас навистина сакам да го истакнам е дека ако сакате да ги собереш Vim точно е дека има малку повисока учење крива на почетокот. Во самиот почеток ќе биде малку помалку продуктивни отколку што веројатно ќе биде поинаку, но ако се држи со него во рок од неколку дена или неколку недели, во зависност од тоа колку брзо ќе научат, ќе стане многу, многу побрзо, а јас се обидував да ви даде демонстрација на она што VIM е способен, но јас навистина не добие шанса да ти го покажам што се случува кога јас нормално, на пример, во класа I тип во моите ноти со Vim. Тоа е затоа што може да работи толку многу побрзо во vim отколку што може со секоја друга програма. Тоа е буквално 2 или 3 пат зголемување на продуктивноста во vim во споредба со други програми, не само со брзината на уредување на текст, но исто така и во начинот на кој јас да се движите низ документот и начинот на кој можам да пристапите други датотеки на мојот компјутер и се фрламе во меѓу нив и така натаму и така натаму. Тоа е само навистина, навистина голема продуктивност зајакне. Но, кога ќе учите, вие сакате да бидете сигурни дека ќе научат една работа во еден момент, и не се обидуваат да се победат со премногу различни команди бидејќи постојат многу команди и многу различни кратенки можете да дознаете во vim. Сакате да ги собереш малку во време и во текот на годините постепено струпвам поголеми и поголеми разбирање на Vim. Ако сакате да продолжат да учат повеќе, овие се некои од повеќе напредни теми ќе може да продолжи да се запознаат, па дури и оваа едвај гребе на површината. Тука се и некои популарни додатоци можете да се чувствуваат слободни да се провери од и Google ги и се позанимавам со нив, ако сакате да и само да видиме каков вид на додатоци се таму. А потоа на крајот на оваа PowerPoint, јас вклучуваат еден куп линкови на разни ресурси можете да го користите да се учи од неа. Еве еден куп различни линкови можете да ги користите за да започнете со Vim. Тие имаат различни упатства и какво ли не, и конечно, овие се некои понапредни работи што можете да го користите да исто така, проверете, како и, некои екран фрла и некои понапредни техники во vim а исто така и некои различни парчиња на изворниот код може да се погледне нагоре на GitHub само да се погледне во другите луѓе конфигурациските датотеки или да се погледне на приклучоци во vim и така натаму и така натаму. Тоа е се што имам за вас. [CS50.TV]