[Семинар Вим] [Брэндон Лю] [Гарвардский университет] [Это CS50.] [CS50.TV] Сегодня будет введение в Vim. Сколько из вас, ребята слышали о Vim? Что вы слышали о Vim? [Студент] Он решает все ваши проблемы. [Брэндон Л.] Он решает все ваши проблемы. Все остальное вы, ребята слышали о Vim? Любые впечатления? [Студент] Почти все, кого я говорил с подобными использовать Vim. О, сладкий. [Студент] Много людей, которых я знаю, как использовать Vim. Ладно, это хорошо, потому что много людей в CS51 начать забрать Emacs, потому что Emacs имеет несколько лучшую поддержку для языка вы собираетесь использовать в CS51, и я волнуюсь, что не хватает людей в Гарварде использовать Vim, так что я действительно попытаться сделать хорошую работу поощрения использования Vim. Но вот классический XKCD комиксов, которые вы, ребята могут оказаться интересными. Вы, ребята, используется Nano до вообще? Этот комикс говорит Nano? Настоящие программисты использовать Emacs. Эй, настоящие программисты использовать Vim. Нет, настоящие программисты используют Эд, который это-вы не хотите использовать ред. Это очень, очень старый и очень плохо, и настоящие программисты используют намагниченный иглы и твердая рука. И вы можете ознакомиться с остальной, но это довольно забавно. И самое смешное в конце. Они говорят: "О, да, конечно, есть команда Emacs, чтобы сделать это." Старый добрый Cx Mc M-бабочка, которая является своего рода удар на Emacs потому Emacs исторически известно, немного раздутой и есть команды для чего угодно, так что это своего рода шутку для Emacs. Что такое Вим? Вим является текстовый редактор продвинутого программиста. Я очень хочу, чтобы сделать различие между текстовым редактором и что-то вроде процессора документа. Microsoft Word известен как процессор документа. Вы можете задать поля, сделать вещи полужирный шрифт, подчеркивание вещи, ударить через вещи, изменить размер шрифта и еще много чего. Текстовый редактор ничего не делает больше, чем просто редактировать текст. Буквально вы просто должны символов. Там нет рода стиль, размер, шрифты, цвета, или что-нибудь подобное. Все, что вам сделать, это редактирование текста, и Вим был специально сделан для программирования. Она имеет много функций, встроенных в только для программирования. Он создан специально для эффективного редактирования текста. В общем, Vim, как известно, в основном быстрый текстовый редактор возможно, вы можете использовать по сравнению с любой другой текстовый редактор, который возможен. Много IDE-подобные функции не строятся непосредственно в Vim, так что если вы использовали IDE, и вы привыкли к вещам, как скомпилировать и запустить автоматически или отладки, что в вашем IDE или целого ряда различных вещей Вим не приходит с, что, естественно, но есть целый ряд плагинов, которые можно использовать, чтобы добавить такого рода функциональность для Vim. Вим сама по себе направлена ​​на редактирование текста и делает редактирование текста очень, очень хорошо. И, наконец, это действительно настраиваемый и расширяемый, и в основном Вим был вокруг, или Vi, которые Вим создан на, была вокруг в течение более 40 лет, и это очень, очень глубокая программа, и люди будут использовать его на всю жизнь и никогда по-настоящему освоить программу на полную катушку, и вы всегда будете продолжать учиться в течение всей жизни на протяжении многих лет, всегда становится лучше и лучше. Там нет в основном не конец тому, что вы можете узнать и сколько вы можете улучшить с Vim, который является действительно захватывающим. Вы же не хотите, чтобы посмотреть его как нечто страшное, потому что вы можете стать очень, очень профессиональный в Vim в течение нескольких недель, но это вроде как постоянное- вы всегда можете узнать больше и узнать больше и делать вещи лучше и лучше, которая является своеобразной захватывающим для меня. Это пример того, что Вим выглядит. Это не мое. Вы увидите некоторые живые демонстрации прямо сейчас. Это пример того, что Вим может выглядеть. То, что мы собираемся сделать сегодня мы собираемся начать с  быстрый витриной, что Вим можете сделать. Я собираюсь сделать некоторые трюки и еще много чего для вас, ребята так что вы можете понять, почему я люблю Vim так много и почему такие люди, как Vim так много, а затем оттуда мы пойдем в мягкого введения. На самом деле, это будет немного быстро, введение в Vim. Я попрошу вас, ребята, чтобы загрузить текстовый файл и следовать вместе со мной, если вы можете. Это Вим, и прямо здесь я использую MacVim, так что если вы, ребята, Маки вы можете рассмотреть возможность использования MacVim потому что это графическая версия Vim, хотя регулярного Vim, что в вашем командной строки, работает просто отлично. Я собираюсь показать вам несколько случайных советы и рекомендации что вы можете использовать в Vim, чтобы показать вам, почему это так здорово. Всего несколько случайных вещей я собираюсь пройти. Первое, что текстовые объекты, и есть несколько команд вокруг текстовых объектов, и я на самом деле учить вас, что текст объекты более подробно позже в семинаре, но, например, скажем, я записал мое имя неправильно, Barndon Лю, и я хочу его изменить. Все, что я должен сделать, это получить свой курсор где-то в моем имени и введите команду СМР, и он будет удалить всю мою фамилию, поставить меня в режиме вставки, и я могу напечатать на мое имя и исправить ее. Аналогичным образом, если я хочу изменить что-то внутри кавычек есть также команда для этого. Я могу удалить вещи внутри кавычек. Нет больше необходимости дважды щелкните, переместить руку к мыши, двойной щелчок, а затем что-то типа масштаб Вы можете делать все с клавиатуры, что это такое. Или же, скажем, у меня есть это изображение тег внутри этого тега привязки. Ребята, вы покрыты HTML в классе еще? Да, так может быть, я хотите удалить этот тег, которые обычно то, что вы должны сделать, это вы должны использовать вашу мышь и тщательно выделить именно то, что вы хотите удалить, и удалить его. Но в Vim, который просто ДИТ, и вы можете удалить его действительно быстро, и я объясню вам, что означает, что все эти команды и как вы их используете в секунду. Другой пример, у меня есть некоторый код здесь, и предположим, что я хочу сделать отступ код, но я хочу, чтобы увеличить отступ код просто в скобках, и я могу также отступ код, используя 3 команды используя в основном> IB. Другое дело, что это действительно здорово о Vim нечто, называемое визуальное редактирование блок. Я не знаю, если вы, ребята, никогда не хотели, чтобы выделить прямоугольный блок текста в коде иногда вместо того, чтобы сделать этот странный вид линии вещь, которая охватывает все разные линии. Например, в Vim вы можете сделать это. Я могу выделить прямоугольники, как это, который является довольно прохладно, но кроме того, что я могу изменить, с помощью этой функциональности. Например, если я хочу дать какую-то префикса для всех наших имен Я могу выделить блок, а затем добавить что-то. Точно, я могу также выделить этот блок и выберите удалить его, или, может быть, я выделю этот блок и изменить его на D, потому что мы все врачи. В любом случае, вы можете делать все эти разные вещи. Наконец, складывающиеся действительно здорово. Много интегрированных сред разработки есть это, где вы можете сложить различные функции из поля зрения в случае, если вы не хотите их видеть. Например, предположим, у меня есть эта кучу текста здесь, и я действительно не хочу его видеть. Я хочу, чтобы держать его из поля зрения, потому что я редактирую что-то еще в файле. Я могу сложить его таким образом, это все рухнуло, и, таким образом, что это вне поля зрения, и я могу редактировать другие вещи, которые на странице, и это действительно здорово. Вы можете сложить функции и еще много чего или сложить классы, когда вы программируете только, чтобы держать их из поля зрения, когда вы не редактируя их, и позже, когда вы хотите увидеть их, вы можете открыть их. И вы можете видеть, что это только что открыл все. Вкладки, буферы, и окна. Вим довольно прохладно в том, что обычно в большом количестве текстовых редакторах можно редактировать только один файл за раз, как в Nano, или, может быть, если вы используете Блокнот или Gedit. Я никогда на самом деле не использовали Gedit очень много, но по крайней мере в Notepad + + вы можете иметь вкладки, но Вим имеет концепцию вкладок, буферы и окон. Например, вы можете открыть несколько новых вкладках. Здесь можно увидеть на самом верху у меня сейчас куча вкладок, и я могу закрыть их. Кроме того, есть такое понятие буферов, которая является идея, что, как только вы открыли файл он остается жив в буфере, и если вы хотите, чтобы перейти к этому файлу очень быстро Вы можете перейти к ней очень быстро в буфере, а также, и, кроме того, в течение одного панели можно также разделить свое окно на несколько окон. Например, если я хочу, чтобы разделить окно на несколько окон Вы можете увидеть прямо здесь, что у меня может быть один и тот же код дважды, и я могу разделить все больше и больше и больше, и сейчас она не выглядит, что хорошо потому что по умолчанию у меня размер окна по умолчанию быть даже большим так что все остальные раздавил вне, но, как правило, когда я на моем компьютере, а не на проектор У меня может быть несколько стекол открыть в то же время, который действительно хорош для редактирования нескольких файлов одновременно. Вы также можете иметь такие вещи, как выбрать и заменить, и мы фактически покрывают, что в семинаре, так что я буду показывать, что на данный момент. Вы также можете взаимодействовать с командной строки во всевозможных разному. Например, если у меня есть какой-то список здесь, и я хочу, чтобы уладить его- Я не знаю, давайте добавим еще один плод, виноград, и я могу подчеркнуть это с помощью функции выделения и вызвать своего рода, и это будет сортировать его автоматически для меня. Аналогично, если вы собираетесь быть редактирования CSS, который я полагаю, вы, вероятно, будет делать для окончательного проекта, большинство людей, и может быть, вы хотите сохранить ваш CSS, организованный сортируя их в алфавитном порядке. Вы также можете выделить их и называют рода, и это будет сортировать их для вас. Вот некоторые из примеров вещей, которые Вим можете сделать, и вы заметите, что ключевая вещь, что я действительно хочу обратить ваше внимание на является то, что я делаю все с клавиатуры, и если вы в состоянии увидеть, где мои руки помещаются вы также увидите, что мои руки никогда не перейти от основного ряда. Обычно, когда вы редактируете текст, который вы, как правило, использовать мышь и нажмите вокруг и еще много чего, и такого рода движения тащит вас вниз и время отходы, или, возможно, вы двигаетесь между домашней строке и клавиш со стрелками, и так вы двигаетесь вперед и назад так, что немного громоздким но и замедляет работу, и дело в том, как только вы получите действительно хорош в Vim все, что вы хотите сделать, это сделать без того, чтобы двигать руками от основного ряда, который является отличным. Держись, я иду, чтобы открыть это приложение. Там мы идем. Теперь вы можете увидеть, какие команды бегут за правый нижний окно. Все функции, которые я только что показал вам вещи, которые включены по умолчанию вместе с Vim, но есть также огромное количество плагинов, которые можно также использовать улучшить свой Vim опыт. Если вы скачали файлы, которые я включил, и есть инструкции о том, как установить их в PowerPoint а также в электронной почте я послал, я установил около 40 плагинов или, может быть 30 плагины, и все до единого приносит дополнительную функциональность к Vim, который улучшает ваш Vim опыт. Например, одна из моих любимых нечто, называемое surround.vim, и это в основном позволяет работать с окружающими или контрольные символы гораздо легче. Одним из примеров, я не знаю, если вы, ребята, когда-нибудь код в LaTeX, но латекс является математика язык верстки, который используется, чтобы сделать действительно приятные глазу математика, и всякий раз, когда вы хотите что-то посмотреть как математика Вы оберните его в знаки доллара, и скажем, я печатаю некоторое уравнение, как F = та, и я забыл упаковать его в знаки доллара. Тогда я могу подчеркнуть это и оберните его в знаки доллара просто так. Кроме того, Вим позволяет удалить вещи внутри тегов и удалять теги и еще много чего, но Vim по своей природе не позволяют изменять теги, так, например, у меня есть этот DIV тег, и я хочу, чтобы перейти на HTML5 и использовать новый тег заголовка. Что я могу сделать изменения окружающих тег и тип в заголовке, и он будет автоматически изменить это для меня. Точно так же, скажем, у нас есть что-то в скобках, , и я хотел, чтобы изменить это от скобках в скобках или что-то в этом роде. Я также можете изменить которые действительно легко, введя в с к переменам, с для объемного скобки. О, я думаю, я должен ввести его быстрее. Скобки и скобы или кронштейны, и он будет автоматически менять, что для меня, который действительно хорош, в противном случае, как правило, это действительно громоздким. Это действительно хорошо для переключения между, возможно, одной цитатой и двойные струны котировок или что-то в этом роде. Вот один из примеров прецедент. Там в плагин называется Беглец которая интегрируется с Git. Я предполагаю, что, может быть, вы, ребята, не используется Git, что многое в CS50, но вы окажетесь с помощью Git все больше и больше и больше, не только в классах по всей Гарварде, но и на рабочие места и еще много чего, и, как правило, вы должны переключаться между командная строка и Вим взаимодействовать с Git, но есть плагины для интеграции с Git изнутри Vim а также, чтобы дать вам даже дополнительную функциональность поверх Git. Там-то называется NERDTree, которые вы можете использовать, чтобы исследовать файловые структуры изнутри Vim. Например, я могу открыть NERDTree на правой панели, и вы можете в основном см. случайные файлы и открытые не налоги, не смотрите на мои налоги. Вы можете посмотреть на файлы и еще много чего и открытых других файлов и так далее и тому подобное. И я не буду вдаваться в этих других плагинов, поэтому мы можем в основном нырять в и начать работать на Vim, но есть плагины, которые позволяют комментировать легче, плагины, которые позволяют перейти в между файлами легче, плагины, которые дают вам Проверка синтаксиса изнутри Vim, которые действительно здорово, и это дает вам Проверка синтаксиса для большинства языков прямо из коробки, вещи, как радуги скобках, что на самом деле очень, очень круто. Позвольте мне привести вам пример того, что прямо сейчас. Давайте посмотрим. Вот некоторые случайные код, который я писал, и вы заметите, что скобки и скобки все цветные, и скобки и держатели одного цвета соответствия, что приятно а иногда улучшает читаемость кода. У вас также есть автозавершения, табличный формат. Если у вас есть что-то, что вы хотите, чтобы получить все комментарии выстраиваться или вы хотите сделать таблицу в тексте, и вы хотите получить все, чтобы выглядеть хорошим столом, вместо того, чтобы форматировать это вручную есть плагины, которые будут формате, который для вас и так далее и тому подобное. Этот список можно продолжать и дальше и дальше. Я мог часами исследовать все различные плагины Vim, которые существуют, и это невероятно, что там. Есть вопросы до сих пор? Сладкий. В этом случае, мы собираемся, чтобы начать играть вокруг с Vim, и я хочу, чтобы вы, ребята, работать с некоторыми Vim со мной так что вы можете получить представление о ней, и я могу вам в ваших первых шагов, работающих с Vim потому что много людей получить перегружены, когда они открывают Vim вверх, а иногда, если вы даже не знаете, команду для выхода вы можете даже не выйти из Vim, но это не так уж плохо. Вам просто нужно несколько минут руководства со стороны кого-то, кто использовал Vim до или читать некоторые учебники в Интернете, и вы будете на вашем пути в кратчайшие сроки. Здесь есть некоторые инструкции по установке Vim, если вы еще этого не сделали. Вы можете посмотреть на этих слайдах после презентации, если вы хотите установить больше вещей. Кроме того, это лишь некоторые инструкции по установке мои файлы конфигурации, и вы также можете следовать этим инструкциям позже, если вы еще этого не сделали. Если вы, ребята могли бы пойти по этой ссылке и скачать текстовый файл. Ссылка приведет вас к этой текстовый файл, который я хотел бы вам скачать и открыть в Vim, и есть куча упражнений и еще много чего в там, что вы можете следовать вокруг со мной и начать получать некоторую практику с некоторыми из основных операций в Vim. Хорошо. В то время как вы открываете, что до Я собираюсь дать краткое введение 2 действительно ключевых принципов в Vim редактирования, которые действительно важно понять, прежде чем погрузиться в Vim, и это модальный редактирование и операторы и движения. Я расскажу редактирование модальный, а затем мы рассмотрим операторы и движения в немного. Первый ключ различие между Vim и в значительной степени все другие текстовые редакторы любого рода является то, что Вим является редактором модальный, и что это значит, когда вы используете Vim вы могли бы быть в одном из многих различных режимах. Там в нормальный режим, есть режим вставки, есть визуальный режим, так далее и так далее, и вещь, ваши нажатия клавиш взять на различных действий, взять на себя другой смысл, в зависимости от того, какой режим вы дюйма Просто в качестве примера, обычный режим есть режим вы находитесь в, когда вы двигаетесь, и поэтому я хотел бы использовать ключ J двигаться вниз, но в режиме вставки, можно использовать ключ J фактически впечатать J на ​​экране, и именно поэтому многие люди путаются, потому что они не привыкли к находясь в разных режимах все время, и так они будут набирать вещи, и вы привыкли к тому, что вы вводите на экране появляются, но в Vim может быть, ваш курсор движется повсеместно потому вы печатаете странные символы, и вдруг вы получаете сдвигается в режиме вставки, потому что вы набрали некоторый ключ , которая ставит вас в режим вставки, а затем текст начинается вылетали, так что люди путаются из-за этого. Но вы должны отслеживать, что режим вы находитесь в, и если вы посмотрите в самом низу панели инструментов Vim не должно быть показателем того, что говорит вам, что режим вы в данный момент, который должен быть полезным. Но в целом, основные режимы 3 вы должны знать о, Есть только, наверное, 6 или 7 или 8 режимов или около того, но вы проводите большую часть своего времени в 3. Первое, что нормальный режим. Это где вы проводите большую часть своего времени. Все нажатия клавиш вошли как своего рода команды, и мы будем учиться много этих команд в течение дня сегодня. Другой режим режим вставки, который является, где вы на самом деле набираете вещи, и режим вставки в основном режиме вы обычно привыкли. Что-то Вы набираете, и он просто приходит на экране, и визуальный режим что-то, где вы можете сделать подсветку. Вы видели ранее, где иногда я бы выделение текста и манипулирования его по-разному, и это пример использования визуальный режим. Мы начнем с абсолютными основами вам нужно, чтобы выжить в Vim, и это в основном эти 7 команд прямо здесь. HJKL используются для перемещения по файлу, и они соответствуют влево, вниз, вверх и вправо, и вы можете свободно использовать клавиши со стрелками, а также, но мы действительно рекомендуем вам использовать HJKL как можно больше потому что идея в том, что во время редактирования, вы можете перемещаться по документу без того, чтобы переложить между клавишами со стрелками и где вы печатаете, которая на самом деле, очень приятно. Вы просто хотите, чтобы переместить несколько символов над. Вы не должны перекладывать всю вашу руку, и это отчасти хорошо иметь это. Некоторые эксперты Вим фактически карту свои клавиши со стрелками для других функций потому что они уже есть HJKL, и они могут использовать свои клавиши со стрелками для других функций, а также. HJKL перемещает вас вокруг, а ты в нормальном режиме. Если вы хотите перейти в режим вставки и что-то типа Вы можете нажать для настроек режим вставки, и что ставит вас в режиме вставки, и вы можете напечатать что-либо, и вы наберете побег чтобы получить из режима вставки обратно в нормальный режим. Побег всегда посылает вас обратно в нормальный режим независимо от того, в каком режиме вы находитесь, и если вы не хотите, чтобы оставить вы можете ввести: WQ введите, и то, как вы можете помнить, что это ж стендов для записи, и д обозначает бросить курить, так: WQ, и толстой кишки запускает команду, и так: WQ введите запустить команду Сохранение и выход. Если открыть файл до мы пройдем первом упражнении вместе. Шаг 1 выживает в Vim, и, надеюсь, вы, ребята, у всех есть эта открытая. Хорошо, и у нас есть несколько простых упражнений для вас, чтобы привыкнуть к использованию этих клавиш. HJKL действительно не кажется интуитивно сначала, и это является одним из начальных блоков, что люди имеют при использовании Vim использует эти клавиши для навигации по. Это не интуитивно, но как только вы привыкнете к нему это действительно интегрируется в своем уме, и многие люди часто оказываются с помощью J и К в Слове или же в Chrome, а на самом деле люди создали этот плагин Chrome под названием Vimium , который можно использовать в Chrome или Chromium для навигации по Chrome с помощью клавиатуры, используя Вим-как ярлыки, так что люди с большим энтузиазмом об этом, но идти вперед и попробовать и использование HJKL перемещаться между числами только так можно ознакомиться с тем, как эти вещи работают. Как только вы закончите, что этого, вы можете пойти и поиграть с этого лабиринта я создал просто для удовольствия, и вы можете рода следовать пунктирную линию и старайтесь не врезаться в стены и попытаться сделать это до конца лабиринта. Если вы используете ярлыки в Gmail или любое количество различных приложений Вы найдете, что J и К, например, часто используются для перемещения вверх и вниз, и что в основном исходит от Vim существу, так что вы должны J и K, и это очень приятно, потому что вы можете перемещаться вверх и вниз без необходимости переместить руку назад и вперед от клавиш со стрелками. Теперь давайте попробуем переходит в режим вставки и выйти из режима вставки. Вы заметите, что сейчас мой курсор находится большой, черный ящик, и когда вы идете в режиме вставки вы обнаружите, что он превращается в узкую курсора, как вы привыкли. Если вы используете Vim в терминале вы не можете найти, чтобы это было так потому что терминал не поддерживает этот вид тонкой курсора, но если вы используете MacVim или GVim на ОС Windows то вы должны найти, что он превращается в курсор, и это очень быстро визуальный индикатор. Это для вас, чтобы рассказать ли вы в обычной режиме или режиме вставки. Давайте идти вперед и попробовать редактирования эту линию. Заполните его с вашей собственной информации или то, что это, и как вы можете сделать это, вы можете подняться на конце заготовки, Тип I, чтобы попасть в режим вставки, и вы можете вернуться на символ назад и ввести свое имя, и когда вы закончите, набрав Вы можете нажать побег, чтобы выйти из режима вставки, и вы можете двигаться сюда, типа вставки для удаления, что, введите побег, чтобы выйти из режима вставки, и вы можете ввести: ж введите , чтобы сохранить файл. Вы можете ввести только: ж, чтобы сохранить файл. Вы можете ввести только: Q для выхода без сохранения, или вы можете ввести: WQ, чтобы сохранить и выйти. Конечно, мы не хотим, чтобы бросить еще, так что вы можете ввести в: ш. И, может быть, что казалось немного неэффективно сначала потому, чтобы перейти к этой точке вы должны были типа J кучу раз, может быть, L кучу раз, чтобы добраться до того места, и вы должны нажать Backspace кучу раз, и это казалось действительно неэффективно тогда как обычно вы, вероятно, наведите курсор мыши на есть, двойной щелчок и начать печатать, и, конечно, дело в том, когда вы впервые начать с Vim, и вы только знать эти основные команды, да, это будет немного медленнее, но вскоре вы узнаете некоторые более мощные команды, который позволит вам перемещаться по документам гораздо быстрее, и у вас не будет иметь этот очень громоздкий использование повторяя Js и повторяя Ks и Ls и так далее и тому подобное. Есть вопросы до сих пор? Твердое вещество. Вернуться к PowerPoint. Теперь мы собираемся ввести еще несколько команд для продвинутого передвижения. Вы испытали того, чтобы вводить возможно L много или H много, и вот еще некоторые команды, которые можно использовать для перемещения по быстрее. Предположим, что ваш курсор находится в O на себя в некоторых в "Это просто текст," и вот еще 5 команд, которые можно использовать для перемещения по линии более легко. Так ^ и $ двигаться вам в начале и конце линии, и в какой-то момент, когда вы узнаете регулярных выражений или другие различные вещи вы обнаружите, что эти рода конвенций очень распространены. ^ Обычно относится к началу строки. $ Обычно относится к концу строки. Это очень легко запомнить, а так же, б, е, и без, они легко запомнить, а потому, что б соответствует резервного или начало, е соответствует концу, который является концом слова, и ж соответствует следующему слову, так ж в слово. И если вы держите набрав е, или продолжайте вводить текст ж Вы замечаете, вы можете переключаться между словами, и это гораздо быстрее, чем просто набрав л. Теперь, следующее, что является оператором-Motion Модель. На самом деле это один из ключевых причин, почему Вим могут быть настолько мощным, и это потому, что вы можете существенно сочинять различные элементы в более мощных функций, так что в целом когда вы делаете что-либо в Vim вы можете думать о нем, как объединения оператора с движения. До сих пор мы просто имели дело с движениями, как HJKL. Они двигаются вас вокруг, а затем б и ш, они также переместит вас вокруг различных способов, но мы еще не пошли, чтобы быть в состоянии удалить вещи или изменить положение вещей или еще много чего, и когда вы комбайнеров с движений, то вы в состоянии иметь гораздо более мощный эффект, так, например, если бы я хотел, чтобы удалить два слова, я могу использовать д для оператора удаления, и я могу добавить 2 указывает, что я хочу удалить 2 слова, а потом я включать движение. Я могла бы включать ж сказать удалить 2 слова. Я мог бы использовать что-то вроде J сказать удалить нисходящие 2 раза и удалить 2 строки ниже меня. Я мог бы сказать D2B удалить назад дважды, и есть еще больше движения, чем те, что я показал здесь действительно, действительно сделать ваш Вим редактирования гораздо более мощным. Вот некоторые из самых популярных или самых распространенных операторов и довольно легко запомнить, а также. D для удаления, с перемен. С в основном та же самая вещь как изменение исключением того, что при использовании с вас автоматически получить положить в режим вставки впоследствии. Обычно, когда вы используете удаления вы используете его из нормального режима, и после удаления то, что вы остаться в нормальном режиме. Но если вы хотите что-то изменить, вы можете использовать C удалить что-то, а затем сразу переходит в режим вставки так что вы можете начать печатать и исправить что-то. Y для дергая. Это в основном понятие Vim, копирования. Например, если я хочу, чтобы скопировать следующие 2 слова, которые я могу сделать y2w или что-то вроде этого, и V для выделения, по существу. А также то, что это действительно здорово, если вы введете оператор дважды он будет действовать на всей линии, так что если я хочу удалить всю строку Я могу напечатать дд удалить всю строку, или если я хочу, чтобы скопировать всю линию я могу использовать гг или что-то в этом роде. Давайте попробуем это еще немного. Там в тренажерный здесь для продвинутых операторов движения, а и даже некоторые другие вещи, которые я не собираюсь описывать в PowerPoint сегодня, но вы можете чувствовать себя свободно, чтобы посмотреть на них в дальнейшем и поиграть с ними и ознакомиться с ними. Операторы и движений. Например, предположим, есть эти 2 слова, которые вы просто хотите удалить в предложении. Что вы хотите сделать, это вы хотите, чтобы убедиться, что ваш курсор находится в начале первого слова вы хотите удалить, и вы можете ввести в d2w, и он будет удалить эти 2 слова для вас. И, используя этот точный команд, D2W, может показаться немного громоздким и бессмысленно, но это, как предполагается, чтобы выразить мысль что вы можете составить эти разные вещи, а также на всякий случай вы оказались в ситуации, то вы можете в конечном итоге использование DW или D2W, которые я использовать время от времени. Dd и куб.см я использую гораздо чаще, потому что вы можете действовать на целых линий. Например, предположим, что у меня есть этот случайный список здесь, и, возможно, я хочу удалить строку, которая говорит хаски, потому что это не подходит, только потому, что, и я не хочу, чтобы это потом переходит в режим вставки. Я хочу, чтобы удалить его, и в этом случае я мог ввести дд, и что будет удалить всю строку. Но, допустим, теперь есть эта другая линия, что я хочу, чтобы удалить, но я также хочу, чтобы исправить это, и переписать его, и в этом случае я постараюсь что-то вроде куб, и что удаляет всю строку, но ставит меня в режиме вставки, как вы можете видеть, и я могу исправить его оттуда. И есть много, много разных способов, вы можете комбайнеров и движения, и как вы используете Vim все больше и больше вы узнаете больше о различных способах Вы можете использовать эти команды, и вы станете лучше и лучше. Удивительный, теперь вот некоторые другие различные команды что также очень, очень широко используется, а также поможет вам стать лучше в Vim. Например, мы говорили о строчной В для визуальное выделение. Мы также можем использовать прописную V для подсветки визуальной линии. Таким образом, вы можете выделить целые строки в то время, гораздо легче. Вы можете использовать O когда вы находитесь в нормальном режиме, чтобы в основном вставить новую строку ниже черты вы находитесь в данный момент, и положить его в режим вставки, чтобы начать печатать. Вы можете использовать х в нижнем регистре, чтобы удалить символ, который в настоящее время курсором. Вы также можете использовать у отменить, что отчасти хорошо, и вы можете использовать капитала, чтобы добавить в конец текущей строки, поэтому, возможно, курсор находится где-то на линии, и вы хотите добавить в конце линии. Тогда можно ввести капитала немедленно перейти в конец строки и перейти в режим вставки, так что вы можете добавить в конце линии. Я думаю, у меня есть еще несколько упражнений для того, что мы можем попробовать. На самом деле, нет, я не знаю. Не для тех,. Но у нас есть еще несколько упражнений для следующей секции, которые мы увидим. Но это вы можете попробовать себя в роли хорошо. Например, если вы введете в очередной V, вы получите обычный подсветку, что вы привыкли так. Если вы наберете в столице V, вы можете получить полную линейку подсветки так, или если я печатаю в о нем в основном откроет новую линию для меня, который отчасти хорош. X я могу использовать для удаления символов с курсором. Я могу нажать х кучей времени и удалить материал. Я могу нажать у отменить все такое. , Я могу ввести немедленно пойти в конце линии, и я также включены несколько других хороших ключи что вы можете также посмотреть на после презентации, чтобы узнать некоторые другие команды. [Студент] Что замена о? [Брэндон Л.] Замена также действительно здорово и в основном, если вы идете куда-нибудь- вы когда-нибудь-люди действительно не использовать его, что многое больше в эти дни, но вы, ребята, когда-либо видел в Microsoft Word, если вы введете вставку вы вдруг идти в этом странном режиме, где каждый вводимый символ в основном заменяет следующий символ? Я не знаю, если вы, ребята когда-либо видел, что. Это похоже на то. Например, если я хочу, чтобы перезаписать то, что я в настоящее время почему-то Я могу напечатать в столице R, и теперь я буду в режиме замены, как вы можете видеть в левом нижнем углу. Если я печатаю материал он переписывает вещи, и я могу также забой, который круто, и я могу отменить это. Я не использую, что очень часто, но время от времени он становится удобным. Давайте поговорим о текстовых объектов, что является одним из моих любимых вещей о Vim, честно. Текстовые объекты в основном это понятие определения какую-то кусок текста внутри текстового файла, и я пойду за этих клавиш во-первых, и тогда я дам вам несколько демонстраций для вас более полно понять, что это значит. W относится к слову, как и текстовый объект как слово, поэтому некоторые слова, как обычно это знаете, и если есть знаки препинания вот рядом со словом то она не будет включать в себя знаки препинания в целом. Но, к примеру, если вы хотите включить пунктуацию почему-то или вы делаете что-то, что это не английский, и вы хотите, чтобы включить все символы, которые очерчены пробелами Вы можете также использовать капитал W, чтобы получить все, что окружен пробелами. Вы также можете использовать скобки для обозначения текстового объекта что находится внутри скобок. Вы можете сделать то же самое с помощью квадратных скобок, угловые скобки, скобки и кавычки, а, наконец, Вы можете также использовать т для обозначения некоторого тега. Позвольте мне показать вам, как это на самом деле теряет значение. Например, это моя самая первая пример в моей витрине. Там-то слово в этом предложении, которое я хочу изменить, и мы говорили о W используется в качестве движения, но вы также можете использовать его в качестве текстового объекта, как так. Например, один из способов я мог изменить имя Барак или в основном изменить его , я мог пойти в начале этого слова и типа в с к переменам и без в слово, и что будет удаления всего слова и перевести его в режим вставки. Но это очень раздражает, чтобы у меня пойти в начале слова все время. Это действительно раздражает. Я не хочу, чтобы это сделать. Я действительно может быть в любом месте внутри его имени и введите в СМР, и я означает внутренний, так что если я типа в СМР он выступает за изменения в слове, или, другими словами, изменить слово, когда я нахожусь в настоящее время внутри, и это даст вам точно такой же эффект. Вы можете исправить это. Аналогично, возможно, у меня есть некоторые дела, как это где почему-то есть некоторые разделители или что-то в этом роде, или есть некоторые знаки пунктуации, и я хотел, чтобы удалить все это. Если я печатаю в СМР будут удалены, что находится внутри этих ограничителей, но я хочу, чтобы получить все это, который окружен пробелами, поэтому я могу использовать СМР удалить все это. Я введите в пять, сделать то же самое, и введите в шесть. Аналогичным образом, если я хочу изменить что-то, что в скобках Я могу напечатать в CI) для удаления всего, что находится внутри скобок а затем заполнить все, что я хочу сделать, как десятичного агдс, все, что вы хотите сделать, и точно так же, то же самое с кавычками. Я могу это исправить текст, который находится внутри кавычек, и я могу также изменить положение вещей, которые находятся внутри тегов. Имеет ли это смысл? Еще одна вещь вы можете сделать, это вам не придется использовать с. Вы также можете использовать D Если вы хотите удалить, что находится внутри этих тегов. Если я хочу, чтобы удалить текст внутри тега я могу использовать дит удалить этот тег. Я могу также использовать вит, чтобы выделить то, что внутри тега, например. Другое дело, вместо того чтобы использовать I в середине вы можете также использовать, которая выступает за все, так что не забудьте, если вы используете я он будет ссылаться на текстовом объекте или использовать текстовый объект, содержащийся внутри разделителей, но если вы используете это будет включать в себя этот текст, а также саму разделитель. Например, если я хочу, чтобы выделить этот текст и окружающей тег Я могу использовать НДС, V для визуального подсветкой, для всех, а затем т для тега. Вы можете сделать что-то вроде этого, а также. Может быть, я хотите удалить этот google.com с кавычек вокруг него, а также, и я могу использовать что-то вроде да ", чтобы удалить все, что, например. Есть вопросы до сих пор? Я понимаю, что я захоронения на вас много Vim команд сразу, и это в основном потому, что я хочу подвергать вас всех различных команд и дать Вам введение в то, что эти команды делают в Vim. Но то, что будет иметь, так это когда вы вернетесь вы будете иметь, чтобы медленно поднять эти команды один за другим. Вы же не хотите, чтобы сокрушить себя, потому что это слишком подавляющим. Если вы хотите забрать Vim, что у вас есть, чтобы действительно сделать это начать с первого основного набора, и я разбил его на уроках для вас что сделать его проще для вас, чтобы следовать, и попытаться освоить каждый набор команд один за другим, по одному. Это слишком много, чтобы сделать все сразу, так что вы должны сделать, когда вы вернетесь есть идти на первый урок, который HJKL, режим вставки, бежать в нормальном режиме, и сохранение и выход, и это все, что вам действительно нужно, чтобы выжить в Vim, и получить очень, очень комфортно с этим. И уже через несколько дней, как только вы очень комфортно с этим вы должны перейти на более продвинутых операторов движения, более продвинутые движения, и на операторов и так далее и так далее. Я знаю, что я собираюсь через много, но я хочу, чтобы вы подвергаются много разных вещей. Но в случае, если вы готовы принять вызов, я могу показать вам, как вы можете поместить все это вместе с использованием почти все, что мы только что узнали сегодня, и вы также можете следить вместе, если вы хотите, но я создал некоторые случайные упражнения. Предположим, у нас есть своего рода реестр, как это где у вас есть эти блоки с именами людей, дома, лет, и концентрации и еще много чего, и вы хотите добавить новую запись для себя. Какой самый лучший способ для вас, чтобы сделать это? Давайте сделаем это, как это. Почему бы нам не сначала выделите этот блок. Вы собираетесь выбрать его, и мы можем нажать у дергать его, так что теперь мы можем в основном скопируйте и вставьте этот шаблон первый без необходимости переписывать все это с нуля. Теперь я буду Нажмите J вниз кучу раз спуститься, и я буду нажмите р, чтобы вставить его. Может быть, я добавлю некоторые дополнительные линии для пространства, и скажем, сейчас я хочу изменить свое имя с кем-то. Тогда я могу пойти здесь и введите в C2W как раньше, чтобы изменить это имя. Боб Джонс, кто знает. Может быть, если я хочу изменить в дом, я могу пойти в середину здесь и введите СМР и положить Cabot House. Здесь может быть примером того, где вы, возможно, захотите рассмотреть вопрос об использовании режим замены, чтобы изменить ваш год окончания, если вы хотите, или мы можем также использовать CIW также. Это не имеет значения. Может быть, вы хотите изменить свой майор. И вот что вы делаете. А может быть, я дам вам демонстрацию того, что я мог бы сделать если бы я был, если вы будете продолжать изучать более продвинутые команды в Vim потому что мы едва поцарапать поверхность здесь, и я мог делать такого рода редактирования даже быстрее, чем я показал вам здесь потому что я знаю больше команд, что я не получил шанс показать вам на сегодняшний день. Например, если я хочу, чтобы выделить это я могу сделать это так, двигаться вниз. Я добавил свой собственный отображение в основном автоматически выделить материал для меня и я могу-я не знаю. Я имею в виду, это просто пытается показать вам, что вы можете очень, очень начать редактирование вещи быстрее, особенно когда у вас есть все эти различные поля, и, как правило то, что вы могли бы делать это своего рода нажав и выделения и затем ввести. Вы можете сделать все сразу, копирование и вставка, двигаться вверх и вниз между файлом, просто разграничения вещи, форматирование материал. Все это может быть сделано многое, многое другое быстро в Vim. Только один последний мелочь который я думаю, может быть действительно хорошим, который найти и заменить. Те из вас, кто использовал Gmail ярлыки Вы также знаете, что если вы введете в / она посылает вас в поле поиска, и в много различных приложений в целом вы обнаружите, что слэш или, может быть контролировать или слэш что-то делать с косой чертой поставит вас в какой-то режиме поиска и что также в основном происходит от Vim существу потому что оператор слэш или команда косая черта позволяет вводить своего рода строки, которые можно использовать для поиска в документе. Вы можете н и капитала N, чтобы перейти к следующей и предыдущей возникновения, и вы также можете использовать что-то подобное для поиска и замены в документе. Я дам вам демонстрацию на то, что может быть сделано. Возможно, если я хочу найти все экземпляры строки рывком в этом документе Я могу ввести / рывок, как вы можете видеть в нижнем левом углу, и когда я печатаю, введите в нем подчеркивается все экземпляры. Я могу использовать в основном н прыгать туда и обратно между всеми этими различными экземплярами, и предположим, я хочу для поиска и замены рывок с некоторой случайной слова это также в документе. Я могу нажать: начать печатать в какой-то команде в течение Vim, некоторые команды вот более сложные, чем передвигаться или удаление или что-то вроде этого. Я буду ввести символ% для обозначения, что я хочу использовать эту команду заместительной на весь документ. Введите с для замещения. Это происходит от PEARL существу. И это следующая команда является довольно стандартным команда, что вы найдете в PEARL вместо этого и в других языках программирования, что вы будете вероятно, начать учиться, как и вы больше информатику, и я могу в основном используют / набрать /, тип в слове я хочу найти и заменить и введите другой / и введите в какой бы слово, которое я хочу, чтобы заменить это слово с. Кто знает, может NyanCat. Я это сделаю, и тогда вы увидите, что все было заменить. Но вы заметите, что есть это слово здесь. По некоторым причинам некоторые из наших экземпляров рывком заменены но не все, и это потому, что то, как этот вид языке было написано не только в Vim, но в других местах, что, когда вы выполните команду заместительной это будет только заменить первый экземпляр этого слова в каждой строке, так что если я хочу на самом деле заменить все экземпляры слова на каждой линии то я должен сделать то же самое, но добавить флаг AG в самом конце, которая выступает за глобальное, а затем, что будет на самом деле заменить все экземпляры. И как только вы узнаете регулярные выражения, там на самом деле CS50 семинар на регулярных выражениях, поэтому, если вам интересно, о регулярных выражений Вы также можете принять, что семинар и узнать больше. Но, к примеру, скажем у меня есть список имен, как это, и я хочу, чтобы изменить его, так вместо того, фамилия, запятая, имя Я хочу, чтобы изменить его, чтобы он говорит имя, пространство, фамилию. Вы можете использовать эту команду прямо здесь существенно сделать это для вас, так как вы можете видеть здесь мы начинаем с с, что означает, что мы хотим сделать поиск и замену, а затем я добавил флаг называется \ В, что то, что называется эта магия флаг в Vim, который позволяет делать регулярные выражения более легко. Тогда оттуда мы в основном совпадают для любого одной линии что имеет вид набор слов, запятая, пробел и набора слов или набор букв. \ Ш + в основном означает один или несколько символов, и круглые скобки используются для захвата этих групп так что я могу обратиться к ним позже. Как вы можете видеть, как только эти захвата 2 кварталах слов , разделенных запятыми, пространство то, что мы хотим заменить его, я использовать \ 2 и \ 1 чтобы обратиться к словам, которые были сняты в команде фактического находят, и так \ 2 относится к тому, содержится во втором сете скобок, \ 1 относится к тому, что содержится в первом наборе скобок, и как вы можете видеть, я ставлю 2 до 1 разделенные пробелом , чтобы попытаться переместить имя перед фамилией. Имеет ли это смысл? А что я могу сделать, это я могу скрыть эти первые, так что я только запустить эту команду на этих линиях, и тогда я буду введите в этой команде. Вы можете видеть, что это делает именно так, как разделились. И опять же, это едва поцарапать поверхность, и если вы идете в очередном семинаре выражения, то я уверен, что вы узнаете, намного больше различных вещей, которые вы можете сделать с регулярными выражениями, и это в основном начинает намекать на то, что вы действительно можете сделать с Vim если вы действительно начать, чтобы стать мастером этого дела. Возможно, вы хотите, чтобы реорганизовать что-то, и вы хотите найти все экземпляры некоторой функции, которая следует какую-то шаблона именования. Вы хотите, чтобы изменить способ, который именем. Вы можете написать какую-то команду, как это сделать, что для вас, и это своего рода гибкости вы можете получить в Vim что вы просто не получите в других текстовых редакторах. Это в основном охватывает все, что я хотел, чтобы научить вас сегодня в современном семинара, но опять же, я действительно хочу подчеркнуть, что, если вы хотите забрать Vim это правда, что есть несколько выше кривой обучения в самом начале. В самом начале вам будет немного менее продуктивным чем вы, вероятно, быть иначе, но если вы придерживайтесь его в течение нескольких дней или нескольких недель, в зависимости от того, как быстро вы узнаете, вы станете гораздо, гораздо быстрее, и я попытался дать вам демонстрацию от того, что Вим способен, но я действительно не получал шанс показать вам что происходит, когда я обычно, например, в классе я печатаю в моих заметках с Vim. Это потому, что я могу работать намного быстрее в Vim, чем я могу с любой другой программой. Это буквально 2 или 3 раз повышение производительности в Vim сравнению с другими программами, не только со скоростью редактирования текста, но и в том, как я могу перемещаться по документу и то, как я могу получить доступ к другим файлам на моем компьютере и прыгать между ними и так далее и тому подобное. Это просто очень, очень огромный толчок производительности. Но когда вы изучаете, вы хотите, чтобы убедиться, вы узнаете, одну вещь за один раз, и постарайтесь не перегружать себя слишком много разных команд потому что есть много команд и много различных ярлыков вы можете узнать в Vim. Вы хотите забрать немного в то время, и на протяжении многих лет постепенно накопить большую и большую понимание Vim. Если вы хотите продолжать, чтобы узнать больше, это лишь некоторые из более сложные темы Вы можете продолжить, чтобы узнать о, и даже это лишь поверхностно. Вот несколько популярных плагинов вы можете чувствовать себя свободно выехать и Google их и поиграть с ними, если вы хотите, и просто посмотреть, какие плагины там. А потом в конце этой PowerPoint, я включаю кучу ссылок к различным ресурсам можно использовать учиться. Здесь куча разных звеньев, которые можно использовать, чтобы начать работу с Vim. Они имеют различные обучающие программы и еще много чего, И, наконец, это лишь некоторые более продвинутые вещи, которые вы можете использовать, также проверить, а также, некоторые экранные слепки и некоторые более продвинутые методы в Vim а также некоторые различные части исходного кода вы можете посмотреть на GitHub просто посмотреть на конфигурационные файлы других людей или смотреть на плагинами в Vim и так далее и тому подобное. Вот все, что я для вас. [CS50.TV]