[Семинар Vim] [Brandon Liu] [Harvard University] [Това е CS50.] [CS50.TV] Днес ще бъде въведение към Vim. Колко от вас са чували за Vim? Какво сте чували за Vim? [Student] Тя решава всичките ви проблеми. [Brandon L.] Тя решава всичките ви проблеми. Нещо друго, вие сте чували за Vim? Някакви впечатления? [Student] Почти всеки Говорил съм с харесвания да използвате Vim. О, сладка. [Student] Много хора, които познавам искали да използвате Vim. Добре, това е добре, защото много от хората в CS51 започне да се вдигне, защото Emacs Emacs има малко по-добра подкрепа за езика, който ще използвате в CS51, и аз се притеснявам, че няма достатъчно хора в Харвард използват Vim, така че аз наистина се опита и да направи добра работа за насърчаване на използването на Vim. Но тук е класически XKCD комикс, който вие може да намерите интересни. Били ли сте момчета използват Nano преди изобщо? Този комикс казва Nano? Истинските програмисти използват Emacs. Хей, реални програмисти използват Vim. Не, истинските програмисти използват Ed която е тази, можете да не искате да използвате Ed. Това е много, много стара и много лошо, и реални програмисти използват магнитни игла и стабилна ръка. И вие можете да прочетете останалата част, но това е доста забавно. И най-смешното нещо, което е в края. Те казват: "О, да, разбира се, има една команда Emacs да го направя." Добрият стар Cx Mc M-пеперуда, която е нещо като внезапен удар в Emacs защото Emacs е исторически известно, че е малко раздута и да има команди за почти всичко, така че това е нещо като шега за Emacs. Какво е Vim? Vim е текстов редактор напреднал програмист. Аз наистина искам да се направи разграничението между текстов редактор и нещо като процесор документ. Microsoft Word е известен като процесор документ. Можете да зададете полетата, правят неща смели, подчертават неща, прониже неща, промяна на размера на шрифта и какво ли още не. A текстов редактор, не прави нищо повече от това просто редактиране на текст. Буквално просто трябва знаци. Няма по вид стил, размери, шрифтове, цветове, или нещо подобно. Всичко, което направите, е да редактирате текст, и Vim е специално направен за програмиране. Тя има много функции, вградени в само за програмиране. Той е проектиран изрично за ефективно редактиране на текст. Като цяло, Vim е известно, че в основата на най-бързо текст редактор евентуално може да се използва в сравнение с всеки друг текстов редактор, който е възможно. Много от IDE-подобни функции, които не са вградени директно в Vim, така че ако сте използвали IDE и сте свикнали да неща като компилация и се стартира автоматично или отстраняване на грешки, което е във вашия IDE или цял набор от различни неща Vim не идва с които естествено, но има цял набор от плъгини, които можете да използвате, за да добавите този вид функционалност към Vim. Vim от само себе си се фокусира върху редактиране на текст и редактиране на текст прави наистина, наистина добре. И накрая, това е наистина адаптивни и разширяем, и в общи линии Vim е бил наоколо, или Vi, който Vim е изграден върху, е бил около продължение на повече от 40 години, и това е много, много дълбоко програма, и хората ще го използват за цял живот и никога наистина да овладеят програмата, за да си най-голяма, и винаги ще продължават да учат през целия си живот през годините, винаги ставаме по-добри и по-добре. Има основно няма край на това, което може да се научи и колко може да се подобри с Vim, което е наистина вълнуващо. Вие не искате да го видите като нещо страшно, защото може да стане много, много опитен в Vim само за няколко седмици, но това е нещо като постоянно- винаги можете да научите повече и да научат повече и не нещата по-добре и по-добре, Което е доста вълнуващо за мен. Това е един пример за това какво Vim изглежда. Това не е мое. Вие ще видите някои живи демонстрации точно сега. Това е пример за това как може да изглежда като Vim. Това, което ние ще направим днес, е, че ще започнем с  бърз витрина на какво може да направи Vim. Отивам да се направят някои трикове и какво ли не за вас, момчета така че можете да видите защо ми харесва Vim толкова много и защо хора като Vim толкова много, и след това от там ще отидем в нежно въведение. Всъщност, това ще бъде малко по-бърз, въведение към Vim. Аз ще ви попитам момчета, за да свалите текстов файл и да следват заедно с мен, ако можете. Това е Vim, и точно тук аз съм с помощта MacVim, Така че, ако вие имате Mac-ове може да искате да обмисли възможността за използване MacVim защото това е една графична версия на Vim, въпреки че редовно Vim, Какво има в командния ред, работи добре. Отивам да ви покажа няколко случайни съвети и трикове , които можете да използвате в Vim да ви покажа защо това е толкова готино. Само няколко случайни неща аз ще отида сам. Първото нещо е текстови обекти, и има няколко команди около текстови обекти, и аз ще ви научи какво всъщност текст обекти са по-подробно по-късно в семинара, но за пример, нека да кажем, че името ми изписано погрешно, Barndon Liu, и аз искам да го променя. Всичко, което трябва да направите е да си курсора някъде в Мое име и въведете командата СМР, и то ще изтрие цялото ми име, ме постави в режим на вмъкване, и мога да въведете в Мое име и да я поправи. По същия начин, ако искате да промените нещо в кавички има и команда за това. Мога да изтриете неща вътре кавички. Няма повече да се налага да щракнете два пъти, премести ръката си над на мишката, щракнете два пъти, а след това въведете нещо обратно инча Можете да направите всичко от клавиатурата, каквото и да е. Или пък, нека кажем, че имам този образ етикет вътре в тази котва маркер. Били ли сте обхванати HTML в клас все още? Да, така че може би аз искам да изтриете този етикет, които обикновено това, което трябва да направите е, че трябва да използвате мишката, и внимателно се подчертае точно това, което искате да изтриете, и да го изтриете. Но в Vim, който е просто ДИТ, и ще можете да го изтриете от наистина бързо, и да ви Ще обясня какво означават всички тези команди и как да ги използвате в секунда. Друг пример, имам някакъв код тук и нека да кажа, че искам да отстъп на кода, но аз искам да отстъп кода само в рамките на скоби, и аз мога също отстъп кода с помощта на 3 команди основно посредством> IB. Друго нещо, което е наистина страхотно за Vim е нещо, наречено визуален редакция блок. Аз не знам, ако вие, които някога са искали да подчертаят правоъгълен блок от текст в кода си понякога вместо да се налага да се направи този странен вид на нещо линия, която обхваща всички различни линии. Така например, в Vim можете да направите това. Мога да подчертае правоъгълници като това, което е доста хладно, но освен това, аз мога да редактирате с помощта на тази функционалност. Например, ако аз искам да дам някакъв префикс за всички наши имена Мога да маркирате блок и след това да добавите нещо. По същия начин, аз също може да подчертае този блок и да изберете да го изтриете, или може би аз ще подчертае този блок и го променете на D, защото всички сме лекари. Каквото и да е, можете да направите всички тези различни неща. Накрая, сгъване е наистина страхотно. Много от ИДЕС има тази, където можете да сгънете различни функции извън полезрението на в случай, че не искам да ги виждам. Например, да предположим, аз имам този куп текст тук, и аз наистина не искам да го виждам. Искам да я държи далеч от другите, защото аз съм редактира нещо друго във файла. Мога да го сгънете така, че всичко се срина, и по този начин, че е далеч от другите, и мога да редактирате други неща, които са на страницата, и това е наистина страхотно. Можете да сгънете функции и какво ли не или сгънете класове, когато сте програмиране само за да ги държи далеч от другите, когато не сте ги редактирате, и по-късно, когато искате да ги видите, можете да ги отворят. И вие можете да видите, че просто отвори всичко. Tabs, буфери, и прозорци. Vim е много готино в това обикновено в много текстови редактори можете да редактирате само един файл в даден момент, като в Nano, или може би, ако сте с помощта на Notepad или Gedit. Аз всъщност никога не са използвали Gedit много, но най-малко в Notepad + + може да има раздели, но Vim има концепцията на табове, буфери и прозорци. Например, можете да отворите един куп нови раздели. Можете да видите тук, на самия връх имам сега един куп раздели, и мога да ги затворят. Освен това, там е тази концепция на буфери, което е идеята, че след като веднъж сте отворили файл той остава жив в буфера, и ако искате да стигнете до този файл наистина бързо можете да се движите, за да го наистина бързо в рамките на буфера, както и, и освен това, в рамките на един прозорец можете да разделите вашия прозорец нагоре в няколко прозореца. Например, ако искам да се разделим този прозорец нагоре в няколко прозореца можете да видите тук, че мога да имам същия код два пъти, и мога да разделя все повече и повече и повече, а точно сега това не изглежда, че доброто защото по подразбиране Имам размера на прозореца по подразбиране е вид голям така че всички останали са смачкани навън, но обикновено, когато съм на моя компютър, а не на този проектор I може да има няколко стъкла се отварят по едно и също време, което е много хубаво за редактиране на множество файлове едновременно. Можете също така да има неща, като изберете и замени, и ние всъщност ще обхваща, че в семинара, така че аз ще пропусна, че за сега. Можете също така да си взаимодействат с командния ред в най-различни начини. Например, ако имам някакъв списък тук и искам да сортирате го- Аз не знам, нека да се добавят още плодове, грозде, и мога да подчертае това, като използвате функцията за осветяване и се обадете на вид, и ще го сортира автоматично за мен. По същия начин, ако ти започваш да се редактира CSS, който предполагам най-вероятно ще се прави за своя окончателен проект, повечето хора правят, и може би ще искате да запазите вашата CSS организиран от сортирането им по азбучен ред. Можете също така да ги маркирате и се обадете на сортиране, и той ще ги подреди за вас. Това са само някои от примерите за това, че Vim може да направи, и вие ще забележите, че ключовото нещо, което наистина искам да привлека вниманието ви към е, че аз правя всичко от клавиатурата, и ако сте в състояние да се види къде са поставени ръцете ми вие също така ще се види, че ръцете ми никога не се движат от дома ред. Нормално е, когато сте редактиране на текст, който обикновено трябва да използвате мишка и кликнете наоколо и какво ли не, и този вид на движение ви влачи надолу и отпадъци от време, или може би сте се движат между началната ред и клавишите със стрелки, и така сте се движат напред-назад като това, което е малко тромава но също така ви се забавя, а хубавото е, след като получи наистина добър в Vim всичко, което искате да направите, е да се направи без да се налага да се движат ръцете си от началния ред, което е страхотно. Дръж се, аз отивам да се отвори тази молба. Ето. Сега можете да видите какви команди се изпълняват надолу долния десен прозорец. Всички функции, които аз просто показаха сте неща, които са включени по подразбиране с Vim, но има и огромен брой плъгини, които можете да използвате за подобряване на вашия Vim опит. Ако сте изтеглили конфигурационни файлове, че са включени, и има инструкции за това как да ги инсталирате в PowerPoint , а също и в имейла, който аз изпратих, имам инсталиран на около 40 плъгини или може би 30 плъгини, както и всеки един от тях носи допълнителна функционалност към Vim, който подобрява вашата Vim опит. Например, един от любимите ми е нещо, наречено surround.vim, и то основно ви позволява да работите с околните или определяне на границите на героите много по-лесно. Един пример, аз не знам, ако вие някога код в LaTeX, но LaTeX е по математика език наборен, който се използва, за да направи наистина добре изглеждащ математика, и всеки път, когато искате нещо да изглежда като математика го увийте в долари признаци, и нека да кажа, че съм типичен някои уравнение като F = ma, и аз забравих да го увийте в доларови знаци. След това мога да подчертае това и го увийте в доларови знаци просто ей така. Алтернативно, Vim ви позволява да изтриете неща вътре тагове и изтриете маркери и какво ли не, но Vim от природата не ви позволи да промените тагове, така например, аз имам този Div тагове, и аз искам да преминете към HTML5 и използвайте нов етикет с глава. Мога да направя промяна заобикалящата етикет и вид в хедър, и тя автоматично ще се промени това за мен. По същия начин, нека да кажем, че имаме нещо в скоби, и аз исках да се промени, че от скоби в скоби или нещо подобно. Също така мога да променя това наистина лесно, като напишете в C за промяна, ите за съраунд, скоби. О, предполагам, че аз трябва да го въведете по-бързо. Скоби и шини или брекети, и тя автоматично ще се промени, че за мен, което е много хубаво, в противен случай обикновено това е наистина тромава. Това е много хубаво, за да превключите между може би единствен цитат и двойни цитат струни или нещо подобно. Това е един от случаите например употреба. Има една добавка, наречена Беглец който се интегрира с Git. Аз съм се познае, може би вие момчета не са използвали Git, че много в CS50, но вие ще откриете себе си с помощта на Git все повече и повече и повече, не само в класове в цялата Харвард, но и на работни места и какво ли не, и обикновено, което трябва да се върнете обратно и напред между командния ред и Vim да си взаимодействат с Git, но има плъгини за интегриране с Git отвътре Vim , а също и да ви дам дори и допълнителна функционалност на върха на Git. Има нещо, наречено NERDTree, които можете да използвате, за да проучи файлови структури от рамките Vim. Например, аз може да отвори NERDTree на десния панел, и можете да видите основно произволни файлове и отворени-не на данъци, не гледат на моите данъци. Можете да погледнете на файлове и какво ли още не и открити други файлове и така нататък и така нататък. И аз няма да навлизам в тези други плъгини, така че основно ние можем да се потопите в и да започне работа върху Vim, но има плъгини, които ви позволяват да коментира по-лесно, плъгини, които ви позволяват да скочи между файлове по-лесно, плъгини, които ви дават проверка на синтаксиса отвътре Vim, което е наистина страхотно, и той ви дава проверка на синтаксиса за повечето езици с изваждането от кутията, неща като дъгата скоби, което е всъщност наистина, наистина страхотен. Нека ви дам един пример за това точно сега. Нека да видим. Ето някои случаен код, който пишех, и вие ще забележите, че скобите и скобите са всички оцветени, и скоби и скоби от същия цвят съвпадат, което е хубаво а понякога и подобрява четимостта на кода си. Можете също така да има автоматично довършване, форматиране табличен. Когато имате нещо, което искате да получите всички коментари, да се подредят или искате да направи таблица в текст и искате да получите всичко, за да прилича на хубава маса, вместо да се налага да форматирате ръчно има плъгини, които ще формат, който за вас и така нататък и така нататък. Списъкът продължава още и още и още. Мога да прекарам часове проучване на всички различни Vim плъгини, които съществуват, и това е невероятно това, което е там. Всякакви въпроси досега? Sweet. В този случай, ние ще започнем да си поиграете с Vim, и аз искам вие да работят с някои Vim с мен така че можете да получите усещане за това, и мога да ви напътства в първите си стъпки, работещи с Vim защото много хора се претоварени, когато те отварят Vim нагоре, и понякога, ако вие дори не знаете командата, за да излезете вие ​​дори не може да излезе от Vim, но това не е толкова лошо. Ти просто се нуждаят от няколко минути на насоки от някой, който е използвал Vim преди или да прочетете някои уроци онлайн, и вие ще бъдете на път за нула време. Ето някои инструкции за инсталиране Vim, ако не сте го направили. Можете да погледнете тези слайдове след презентацията, ако искате да инсталирате повече неща. Също така, това са някои инструкции за инсталиране на моите конфигурационни файлове, и вие можете да следвате тези инструкции по-късно, ако не сте го направили. Ако вие може да отидете на този линк и да изтеглите текстов файл. Връзката ще ви отведе до този текстов файл, който бих искал да изтеглите и да се отворят в Vim, и има един куп упражнения и какво ли не там, че можете да следвате наоколо с мен и започнете да получавате малко практика с някои от основните операции в Vim. Добре. Докато сте отваряне, че до Отивам да даде кратко интро към две много важни принципи в Vim редакция, които са наистина важно да се разбере, преди да се потопите в Vim, и това е модален редактиране и оператори и предложения. Ще покрие редакция модален първо, и след това ние ще разгледаме операторите и предложения в малко. Първият ключов разграничението между Vim и почти всички други текстови редактори от всякакъв вид е, че Vim е редактор на различни видове транспорт, и това означава, че когато използвате Vim може да бъде в един от многото различни видове. Има нормален режим, има режим на вмъкване, има визуален режим, така нататък и така нататък, и това нещо е, клавиши вземат на различни действия, поеме различно значение, в зависимост от това в какъв режим сте инча Само като пример, нормален режим е режимът сте в, когато се движите, и така аз ще използва ключовата J да се движи надолу, но в режим на вмъкване, можете да използвате клавиша J действително да напишете J на ​​екрана, и това е причината много хора се бъркат, защото те не са свикнали да са в различни режими през цялото време, и така те ще бъдат пишете неща, и сте свикнали да има каквото си вид се появи на екрана, но в Vim може би курсора се движи по цялото място защото вие пишете странни герои, и изведнъж се озовавате превключи на режим на вмъкване, защото сте написали някои ключови че ви поставя в режим на вмъкване, а след това започва текст, плаващи, така че хората се объркват, защото от това. Но вие трябва да следите на какъв режим сте в, И ако се вгледате в самото дъно лентата с инструменти на Vim трябва да има индикатор, който ви казва какъв режим сте в момента, която трябва да бъде от полза. Но като цяло, на три основни режими трябва да знаете за, има само вероятно 6 или 7 или 8 режима, или така, но вие прекарвате по-голямата част от времето си в 3. Първото нещо, което е в нормален режим. Това е мястото, където прекарвате по-голямата част от времето си. Всички клавиши се регистрират като някаква команда, и ние ще се учим много от тези команди през целия ден днес. Другият режим е режим на вмъкване, което е мястото, където всъщност се да пишете неща, и режим на вмъкване е в основата на режима, което обикновено се използва за. Вие пишете нещо, и то просто идва на екрана, и визуален режим е нещо, където можете да направите осветяване. Вие видяхте по-рано, където понякога бих се подчертаване на текст и да го манипулира по различни начини, и това е един пример с помощта на визуален режим. Ние ще започнем с абсолютните основите, които трябва да оцелеят в Vim, и това е основно тези 7 команди точно тук. HJKL се използва, за да се движите по преписката, и те съответстват на наляво, надолу, нагоре и надясно, и вие сте свободни да използвате клавишите със стрелки, както и, но ние наистина ви насърчаваме да използвате HJKL колкото е възможно повече защото идеята е, че докато вие редактирате, можете да се придвижват в документа без да се налага да се премине между клавишите със стрелки и къде пише, което е много, много хубаво. Вие просто искате да преместите няколко знака свърши. Не е нужно да се смени цялата си ръка над, и това е нещо хубаво да има това. Някои експерти Вим всъщност Карта на техните клавишите със стрелки за други функции защото те вече имат HJKL, и те могат да използват своите клавишите със стрелки за други функции, както добре. HJKL ви се движи наоколо, докато вие сте в нормален режим. Ако искате да отидете в режим на вмъкване и напишете нещо можете да натиснете и за режим на вмъкване, а това ви поставя в режим на вмъкване, и можете да напишете нещо, а вие Тип избяга да получите от режим на вмъкване обратно към нормален режим. Escape винаги ви изпраща обратно към нормален режим без значение какъв режим сте в, и ако искате да оставите можете да напишете: WQ влиза, и начина, по който мога да си спомня това е w щандове за писане, и Q означава напусна, така че: WQ, и на дебелото черво работи командата, и така: WQ влиза да изпълните командата спестява и изходи. Ако отворите файла нагоре ние ще мине през първото упражнение заедно. Стъпка 1 е оцелял в Vim, и се надявам вие всички имат тази отворена. Добре, и ние имаме някои прости упражнения за да свикне с използването на тези ключове. HJKL наистина не изглежда интуитивен в началото, и това е една от първите блокове, които хората имат, докато използвате Vim е използването на тези клавиши, за да се движите. Това не е интуитивен, но след като свикнете с него тя наистина се интегрира в ума си, както и много хора често се оказват използване на J и K в Word или също и в Chrome, и всъщност хората са създали тази Chrome плъгин наречен Vimium които можете да използвате в Chrome или Chromium, за да навигирате през Chrome използване на клавиатурата, използвайки Vim-като преки пътища, така че хората са много ентусиазирани за това, но вървят напред и да се опитат и използване HJKL да навигирате между числата, само така можете да се запознаете с това как работят тези неща. След като приключите, можете да отидете и да си поиграете с този лабиринт съм създал просто за забавление, и ще можете да вид следвайте пунктираната линия и се опитайте да не се блъсне в стените и се опитват да го направят до края на лабиринта. Ако използвате клавишни комбинации в Gmail или произволен брой различни приложения вие ще откриете, че J и K, например, често се използва, за да се движат нагоре и надолу, и че основно идва от Vim по същество, така че имате J и K, и това е много хубаво, защото можете да се движите нагоре и надолу, без да се налага да движи ръката си назад и напред от клавишите със стрелки. Сега нека се опитаме да навлиза в режим на вмъкване и излизане от режим на вмъкване. Ще забележите, че точно сега ми курсора е голяма, черна кутия, и когато отидете в режим на вмъкване трябва да се намери, че тя се превръща в един тесен курсора като сте свикнали. Ако използвате Vim в терминала може да не намерите това да се случи защото терминала не поддържа този вид на тънък курсора, но ако сте с помощта MacVim или Gvim на Windows след това трябва да се намери, че тя се превръща в курсор, и това е наистина бърз визуален индикатор. Това е за вас да кажете дали сте в нормален режим или режим на вмъкване. Да вървим напред и да се опитаме да редактирате тази линия. Напълнете го с вашата собствена информация или каквото и да е, и как можете да направите това е, че може да се движи до края на празната проба, Тип I, за да влязат в режим на вмъкване, и ще можете да Backspace и въведете вашето име, и когато сте готови да пишете можете да натиснете бягство да излезе от режим на вмъкване, и можете да се движите насам, тип вложка да изтриете това, Тип избяга, за да се измъкнем от режим на вмъкване, и можете да въведете: w въведете за да запишете файла. Можете да напишете просто: w за да запишете файла. Можете да напишете просто: Q да се откажат, без да записвате, или можете да напишете: WQ да спаси и напусна. Разбира се, ние не искаме още да се откажат, така че можете да напишете: w И може би, че изглеждаше малко неефективен при първа защото, за да се премести в това място, което трябваше да въведете J няколко пъти, Може би няколко пъти, за да стигнем до това място, и вие трябва да натиснете Backspace няколко пъти, и тя изглеждаше наистина неефективно има предвид, че обикновено най-вероятно ще се движат мишката върху там, двойно щракване на мишката и започнете да пишете, и разбира се, Работата е там, когато за първи път започна с Vim и вие знаете само тези основни команди, Да, това ще бъде малко по-бавно, но скоро ще научите някои по-мощни команди, което ще ви позволи да се движат през документи много по-бързо, и няма да се налага да получите този много тромава използване на повтаряне Js и повтаряне Ks и Ls и така нататък и така нататък. Всякакви въпроси досега? Solid. Обратно към PowerPoint. Сега отиваме да се въведе още няколко команди за напреднали движение. Можете опит да се налага да въвеждате може би L много или H много, и тук са още няколко команди, които можете да използвате, за да се движите по-бързо. Да предположим, че курсорът е в О над в някои в "Това е част от текста," и тук са още пет команди можете да използвате, за да се премести от другата страна на линията по-лесно. Така ^ и $ се преместите в началото и в края линия, И в един момент, когато се научиш регулярни изрази или други различни неща вие ще откриете, че тези вид на конвенциите са много чести. В ^ обикновено се отнася до началото на линията. The $ обикновено се отнася до края на линията. Те са много лесни за запомняне, и по същия начин, б, д, и w, те са лесни за запомняне, както и защото б съответства на гърба или начало, д съответства на края, който е на края на думата, и w съответства на следващата дума, така че w по дума. И ако продължаваш да пишете електронна или да пишете w забележите може да скочи между думите, и това е много по-бързо, отколкото просто да пишете л. Сега, следващото нещо, което е модел на Operator-Motion. Това всъщност е една от основните причини, поради които Vim може да бъде толкова мощен, и това е, защото по същество може да композирате различни елементи в по-мощни функции, така че като цяло когато правиш нещо в Vim можете да мислите за него като комбиниране на оператор с предложение. Досега ние току-що се справиха с движения, като HJKL. Те се движите наоколо, и след това б и w, те също се движите различни начини, но ние все още не са отишли ​​да е в състояние да изтриете неща или да промените нещата, или какво ли не, и когато комбинирате оператори с движения, значи не сте в състояние да имат много по-мощни ефекти, така например, ако исках да изтриете две думи, мога да използвам г операторът на изтриване, и аз може да добавите две да се посочи, че искате да изтриете две думи, и тогава аз да включва движение. I може да включва w да се каже изтриете две думи. Мога да използвам нещо като J да се каже изтриете надолу два пъти и изтриване на два реда под мен. Бих могъл да кажа D2b да изтриете назад два пъти, и там са дори повече предложения, отколкото тези, които ви показах тук да наистина, наистина да направи своя Vim редакция много по-мощен. Това са някои от най-популярните и най-често срещаните оператори и са доста лесни за запомняне, както добре. D за изтриване, в за промяна. C е в основата на точно същото нещо като промени, освен че когато използвате C автоматично се поставя в режим на вмъкване след това. Нормално е, когато използвате заличаване го използвате от нормален режим, и след като изтриете нещо, което остана в нормален режим. Но ако искате да промените нещо, можете да използвате в да изтриете нещо, и след това веднага да отидете в режим на вмъкване така че можете да започнете да пишете и да определи нещо. Y е за дръпна. Това е основно понятие Vim е на копиране. Например, ако искате да копирате следващите две думи мога да направя y2w или нещо подобно, и V е за подчертаване, по същество. А също и това, което е наистина страхотно е, ако въведете оператор два пъти тя ще действа на цялата линия, така че, ако искате да изтриете цялата линия Мога да въведете дд да изтриете цялата линия, или ако искате да копирате цялата линия мога да използвам гг или нещо подобно. Да опитаме още малко. Има едно упражнение тук за напреднал оператор движение, както и а дори и някои други неща, аз няма да покрива в PowerPoint днес, но можете да се чувстват свободни да гледам през тях по-късно и да си поиграете с тях и да се запознаете с тях. Оператори и движения. Например, да предположим, че има тези две думи, които просто искат да се заличи в изречението. Какво вие ще искате да направите, е, че ще искате да се уверите, че вашият курсорът е в началото на първата дума, която искате да изтриете, и можете да въведете в d2w, и то ще изтрие тези две думи за вас. И с тази точна команда, d2w, може да изглежда малко тромава и безсмислено, но това е трябвало да се изрази идеята че можете да съставяте тези различни неща, а също и в случай, все пак се случи да бъде в положението, след това можете да се окажете с помощта DW или d2w, което аз не използвайте понякога. Dd и вв аз използвам много по-често, защото може да действа върху цели линии. Например, нека кажем, че имам този случаен списък тук, и може би искате да изтриете линията, която казва, хъскита, защото тя не се вписва, само защото, и аз не искам тя да отиде в режим на вмъкване след това. Искам да го изтриете, като в този случай мога да въведете дд, и че ще изтрие цялата линия. Но нека да кажем, сега там е тази друга линия, която искам да изтриете, но аз също искам да го оправи и да го пренапише, като в този случай аз ще се опитам нещо подобно куб.см., и че ще изтрие цялата линия, но ме поставя в режим на вмъкване, както можете да видите, и аз мога да го оправя от там. И там са много, много различни начини, по които могат да се комбинират оператори и предложения, и като използвате Vim повече и повече можете да научите повече за различните начини можете да използвате тези команди, и вие ще станете по-добри и по-добре. Awesome, сега тук са някои други разнообразни команди , които също са много, много често се използва и също така ще ви помогне да станете по-добри в Vim. Например, ние говорихме за малки V за визуално подчертаване. Можем също така да използвате главни букви V за визуална линия Отбелязването. По този начин можете да маркирате целия линии в даден момент много по-лесно. Можете да използвате о, когато сте в нормален режим на основно вмъкнете нов ред под линията сте в момента и да го постави в режим на вмъкване да започнете да пишете. Можете да използвате малки букви X, за да изтриете знака, който е в процес на курсора. Можете също така да използвате ф да отмените, което е един вид от Ница, и можете да използвате капитал A да добавите до края на текущия ред, така че може би курсора е някъде по линията, а вие искате да добавите към края на линията. След това можете да въведете капитал A незабавно да отидете в края на линията и преминава в режим на вмъкване, така че можете да добавите към края на линията. Мисля, че имам още няколко упражнения за това, което можем да изпробвате. Всъщност, не, аз не. Не и за тези. Но ние имаме още няколко упражнения за следващия раздел, който ще видим. Но това можете да изпробвате себе си, както добре. Например, ако напишете в редовен V, вие ще получите редовен Отбелязването, че сте свикнали да му хареса. Ако изпишете на капитала V, можете да получите пълна гама подчертавайки по този начин, или, ако напишете в о то основно ще открие нова линия за мен, което е нещо хубаво. X мога да използвам, за да изтриете знака на курсора. Мога да натиснете х няколко пъти и да изтриете неща. Мога да натиснете ф да отмените всичко това. А, аз да въведете A незабавно да отидете в края на линията, и аз също са включени няколко други хубави ключове че можете да погледнете след представянето да научите някои други команди. [Student] Какво е за подмяна? [Brandon L.] Замяна също е много готин и в общи линии, ако отидете някъде- Били ли сте някога, хората наистина не го използват, че много повече тези дни, Но замисляли ли сте момчета виждал в Microsoft Word ако въведете вложка изведнъж отиде в този странен режим, където всеки един символ изпишете основно замества следващия знак? Аз не знам, ако вие някога сте виждали това. Това е подобно на това. Например, ако искате да замените това, което аз в момента имам по някаква причина Мога да въведете в столицата R, и сега ще бъде в режим на замени, както можете да видите в долния ляв ъгъл. Ако пиша неща го презаписва неща, и мога също Backspace, което е нещо страхотно, и аз може да отмените това. Не използвам, че много често, но всеки сега и тогава тя става удобен. Нека поговорим за текстови обекти, което е едно от любимите ми неща за Vim, честно. Текстови обекти са в основата на понятието за определяне на някакъв вид парче на текст вътре в текстов файл, а аз ще отида през тези ключове на първо място, и тогава аз ще ви дам някои демонстрации, за да се разбере по-пълно какво означава това. W се отнася до една дума, като текстов обект като една дума, така че някои думи, както обикновено го знаят, и ако има препинателни знаци, че е в непосредствена близост до думата тогава тя няма да включва пунктуацията обикновено. Но например, ако искате да включите пунктуацията по някаква причина или правиш нещо, което не е английски и искате да включите всички герои, които са очертани от интервали можете да използвате капитал W, за да получите всичко, което е заобиколено от празно пространство. Можете също така да използвате скоби, за да се позове на текстов обект това е в рамките на набор от скоби. Можете да направите същото и с квадратни скоби, ъглови скоби, тиранти, и цитати, както и най-накрая, можете да използвате тон да се отнасят към някои тагове. Нека ви покажа как това всъщност играе. Например, това е първият ми пример в моята витрина. Има някаква дума в това изречение, което искате да промените, и ние говорихме за W се използва като движение, но можете да го използвате и като текстов обект като така. Например, един начин да се промени името на Барак или основно го променят е, че може да отиде в началото на тази дума и тип в C за промяна и w за текстообработка, и че ще изтриете цялата дума и я поставете в режим на вмъкване. Но това е много досадно за мен да се наложи да отидете в началото на думата през цялото време. Това е много досадно. Аз не искам да трябва да го направя. Аз всъщност може да бъде навсякъде вътре името му и въведете в СМР, и аз щандове за вътрешна, така че, ако напишете в СМР, то означава промяна с една дума, или с други думи, да промените думата момента съм вътре, и тя ще ви даде точно същия ефект. Можете да поправите това. По същия начин, може би имам някои случай като този където по някаква причина има някои разделители или нещо подобно, или има някаква пунктуация, и аз исках да изтриете всичко. Ако напишете в СМР, то ще изтрие това, което е вътре в тези разделители, но аз искам да отида на цялата работа, която е заобиколена от празно пространство, така че мога да използвам СМР да изтриете всичко. Ще въведете в пет, да направи същото нещо, и напишете в шест. По същия начин, ако искате да промените нещо, което е вътре в скобите Мога да напишете в CI), за да изтриете всичко, което е вътре в скобите и след това се напълва в каквото си искам да правя, като вътр argc, каквото и да искаш да направиш, и също така, на същото с цитати. Мога да оправя текст, който е вътре в кавички, и аз също може да промени нещата, които са вътре на тагове. Това прави ли смисъл? Друго нещо, което можете да направите, е, че не трябва да се използва в. Можете също така да използвате г, ако искате да изтриете това, което е вътре в тези тагове. Ако искате да изтриете текста вътре етикет мога да използвам ДИТ да изтриете този етикет. Също така мога да използвам вит да се подчертае това, което е вътре в етикет, например. Другото нещо е, вместо да се използва и в средата можете да използвате също, който стои за всички, така че не забравяйте, ако използвате аз ще се позова на текст обекта или да използвате текстов обект, който се съдържа във вътрешността на разделителите, но ако използвате тя ще включва този текст, както и на самия разделител. Например, ако искам да подчертая този текст и заобикалящата етикет Мога да използвам ДДС, V за визуален акцент, а за всички, а след това тона за етикет. Можете да направите нещо подобно на това, както добре. Може би искате да изтриете това google.com с кавичките около нея, както и, и мога да използвам нещо подобно на декар ", за да изтриете всички, че, например. Всякакви въпроси досега? Осъзнавам, че аз съм дъмпинг на вас много Vim заповядва всички наведнъж, и това е в общи линии, защото искам да ви изложи на всички различни команди и ще ви даде въведение към това, което правят тези команди в Vim. Но това, което ще трябва да се случи е, когато се върнете ти започваш да имат бавно да вземете тези команди една по една. Вие не искате да се смаже, защото това е твърде поразителен. Ако искате да вземете Vim това, което наистина трябва да направите, е да започнем с първия основен набор, и аз съм го разделена на уроци за вас които го правят по-лесно за вас да се следват, и се опитайте да овладеете всеки набор от команди един по един, един по един. Това е твърде много да се направи всичко наведнъж, така че това, което трябва да направите, когато отидете в гърба е отидете на първия урок, който е HJKL, режим на вмъкване, да избяга в нормален режим, и спестяване и отказване, и това е всичко, което наистина се нуждаят, за да оцелеят в Vim, и да получите много, много комфортно с това. И след няколко дни, след като вие сте много удобен с това трябва да се премине към по-напредналите оператори за движение, по-напредналите движения, както и за да операторите и така нататък и така нататък. Знам, че мога да ходя през много, но аз искам да ви накара изложен на много различни неща. Но в случай, че сте за предизвикателството, аз мога да ви покажа как може да се постави всичко това заедно с използване на най-много от това, което току-що научих днес, и можете също така да следват заедно, ако искате, но съм създал някои случайни упражнение. Да предположим, че имаме някакъв списък като този къде имате тези блокове с имена на хора, къщи, години, както и от концентрацията и какво ли не, и искате да добавите нов запис за себе си. Какво е най-добрият начин за вас да направите това? Да го направим по този начин. Защо не сме първи подчертае този блок. Отиваш да го изберете, и ние можем да натиснете Y, за да го издърпаме, така че сега можем да основно да копирате и поставите този шаблон първи без да се налага да пренапише всичко от нулата. Сега аз ще натиснете J надолу няколко пъти, за да отиде надолу, и аз ще натиснете стр., за да го поставите. Може би ще се добавят някои допълнителни линии за интервал, и нека да кажем, сега искам да се промени името си на някого. Тогава мога да отида тук и напишете c2w като преди да промените това име. Боб Джоунс, който знае. Може би, ако искам да променя къщата мога да отида в средата тук и вид в СМР и сложи Cabot House. Тук може да бъде пример за това къде може да искате да обмисли възможността за използване режим на подмяна, за да промените вашата година на завършване, ако искате, или ние можем да използваме СМР, както добре. Това няма значение. Може би искате да промените вашия майор. И това е това, което правите. И може би аз ще ви дам един демонстрация на това, което мога да направя ако бях-ако продължи да се научат по-напредналите команди в Vim защото ние сме едва надраскване на повърхността тук, и не можех да направя този вид редактиране дори по-бързо, отколкото съм ви показах тук защото знам повече команди, които не са придобили шанс да ви покажа днес. Например, ако искам да подчертая това мога да го направя по този начин, се движат надолу. Аз сте добавили собствените си картографиране всъщност да осветите автоматично неща за мен и мога да-не знам. Искам да кажа, това е просто се опитвам да ви покажа, че можете наистина, наистина започнете да редактирате нещата по-бързо, особено, когато имате всички тези различни области, и обикновено това, което може да се прави, е нещо като щракване и маркирате и след това пишете. Можете да направите всичко наведнъж, копиране и поставяне, се движи нагоре и надолу между файла, точно определяне на границите на неща, форматиране неща. Всичко това може да се направи още много, много по-бързо в Vim. Само един последен малко нещо, което мисля, че може да е много хубаво, който се намери и замени. Онези от вас, които са използвани за бърз достъп на Gmail вие също така ще знаем, че ако въведете в / той ви изпраща до полето за търсене, и в много различни приложения като цяло ще откриете, че наклонена черта или може би контролира наклонена черта или нещо общо с наклонена черта ще ви постави в някакъв режим на търсене, и че също е от основно Vim същество защото операторът на наклонена черта или командата наклонена черта ви позволява да въведете някакъв низ, който можете да използвате, за да търсите в документа. Можете н и капитал N за да отидете на следващата и предишната поява, и можете да използвате нещо подобно на търсене и замяна в документа. Аз ще ви дам един демонстрация за това какво може да се направи. Може би, ако искате да намерите всички случаи на низ янки в рамките на този документ Мога да напишете / янки, както можете да видите в долния ляв ъгъл, и когато аз тип влиза в него се подчертава всички инстанции. Мога да използвам основно п да скочи напред и назад между всички тези различни случаи, и нека да предположим, че искате да търсите и замените янки с някаква случайна дума това е също в документа. Мога да натиснете: да започнете да пишете в някаква команда в рамките Vim, някаква команда, която е по-сложна, отколкото се движат около или изтриване или нещо подобно. Аз ще напишете в знака% да се позове, че искам да използвам тази замяна команда на целия документ. Въведете е за смяна. Това идва от PEARL същество. И това следващата команда е доста стандартен команда, която ще намерите в PEARL вместо това и в други езици за програмиране, че ще вероятно да започнат да се учат, както правите по компютърни науки, и мога да използвам основно /, за да въведете /, напишете думата, която искате да намерите и да се замени и след това въведете друг / и напишете каквото и дума, която искате да замените тази дума с. Кой знае, може би nyancat. Аз правя това, и тогава ще видите, че всичко се е заменен. Но вие ще забележите, че има тази дума тук. По някаква причина някои от нашите случаи на американец се заменя, но не всички, и това е така, защото начинът, по този вид език е написана не само в Vim, но и на други места е, че когато изпълните командата заместване тя само ще замени на първа инстанция на тази дума във всеки ред, така че, ако искате наистина да замени всички срещания на думата на всеки един ред тогава аз трябва да направя същото нещо, но добави AG знаме в самия край, който стои за световно, а след това, че действително ще замества всички инстанции. И след като се научите на регулярни изрази, там всъщност е CS50 семинар на регулярни изрази, така че ако сте любопитни за регулярни изрази можете също така да вземе този семинар и да научите повече. Но за пример, нека да кажем, че имам списък с имена като това, и аз искам да го пренаредят, така че вместо да се налага фамилия, запетая, първо име Искам да го пренареди така се казва първото име, пространство, фамилия. Всъщност можете да използвате тази команда точно тук по същество направи това за вас, така че можете да видите тук ние започваме с S, което означава, че искате да направите търсене и замяна, и след това добавих флаг наречен \ V, което е нещо, наречено тази магия флаг в Vim, който ви позволява да направите регулярни изрази по-лесно. Тогава от там ние по същество съвпадат за всеки един ред че е от формата на набор от думи, запетая, интервал, както и набор от думи или набор от букви. \ W + същество означава един или повече знаци, и скобите се използват за улавяне на тези групи така че аз може да се отнася към тях по-късно. Както можете да видите, след като тези улавяне две пресечки от думи че са разделени със запетая, интервал След това, което искаме да го замени с е аз използвам \ 2 и \ 1 да се върна към думите, които бяха заловени в самата команда находка, и така \ 2 се отнася до каквото и да се съдържа във втория набор от скоби, \ 1 се отнася до това, което се съдържа в първия набор от скоби, и както можете да видите, Слагам 2 преди 1 разделени от интервал да се опита и да се премести на първото име преди фамилията. Това прави ли смисъл? И какво мога да направя е, че може да скрие тези първи, така че аз се изпълнява само тази команда по тези линии, и тогава ще напишете тази команда. Можете да видите, че прави точно това, като разделя. И отново, това е едва надраскване на повърхността, и ако отидете на регулярен израз семинара тогава аз съм сигурен, че ще се научи много по-различни неща, които можете да направите с регулярни изрази, и това в общи линии започва да загатна това, което наистина може да направи с Vim ако наистина започнат да се превърне в господар на него. Може би искате да refactor нещо, и искате да намерите всички случаи на някаква функция, която следва някаква именуване модел. Искате да промените начина, по който е назован. Можете да напишете някаква команда като това, за да направи това за вас, и това е вид гъвкавост, можете да получите в рамките на Vim че просто няма да се получи и в други текстови редактори. Това основно обхваща всички неща, които исках да ви научи днес в днешния семинар, но отново, аз наистина искам да подчертая, че ако искате да вземете Vim Вярно е, че там е малко по-висока кривата на обучение в началото. В самото начало ще бъде малко по-продуктивни отколкото най-вероятно ще бъде по друг начин, но ако се придържате с него в рамките на няколко дни или няколко седмици, в зависимост от това колко бързо се учи, ще стане много, много по-бързо, и аз се опитах да ви даде демонстрация върху това, което Vim е способен, но аз наистина не получи шанс да ви покажа какво се случва, когато обикновено-например, в клас I въведете в моите бележки с Vim. Това е така, защото аз може да работи много по-бързо в Vim отколкото мога с всяка друга програма. Тя е буквално увеличение на производителността на 2 или 3 пъти в Vim в сравнение с други програми, не само със скоростта на редактиране на текст, но и в начина, по който могат да се придвижват в документа и начина, по който може да получите достъп до други файлове на моя компютър и скочи между тях и така нататък и така нататък. Това е просто наистина, наистина огромен тласък на производителността. Но когато сте обучение, вие искате да се уверете, че можете да научите едно нещо в даден момент, и се опитайте да не се затрупвам с прекалено много различни команди защото има много команди и много различни клавишни комбинации можете да научите в Vim. Вие искате да вземете малко в даден момент и с течение на годините постепенно натрупа по-голям и по-голям разбиране на Vim. Ако искате да продължите да научите повече, това са някои от по-напредналите теми можете да продължите да се запознаят, а дори и това едва докосва повърхността. Тук са някои популярни плъгини можете да се чувстват свободни да се провери и да ги Гугъл и си поиграете с тях, ако искате да и просто да видя какъв вид плъгини са там. И след това в края на тази PowerPoint, I включва един куп връзки до различни ресурси, можете да използвате, за да се учим. Това са един куп различни връзки, които могат да използват, за да започнете с Vim. Те имат различни уроци и какво ли не, и накрая, това са някои по-съвременни неща, които можете да използвате, също така да се провери, както и, някои екранни отливки и някои по-съвременни техники в Vim , а също и някои различни парчета от изходен код можете да търсите по GitHub просто да погледнем в конфигурационните файлове на други хора или да погледнете плъгини в Vim и така нататък и така нататък. Това е всичко, което имам за вас. [CS50.TV]