What’s up guys!

Когда я только начинал пользоваться Linux и впервые запустил этот текстовый редактор я его немного испугался… но позже разобрался и понял, насколько же он удобен.

Как вы уже вероятно поняли, в этой статье-шпаргалке мы немного (совсем) поговорим про текстовый редактор Vim. Я постарался сделать её максимально сжатой, и она нацелена в основном на новичков, которые просто хотят понять, как пользоваться этим текстовым редактором.

Vim (Vi Improved)— свободный текстовый редактор, созданный на основе более старого vi, разработанного Биллом Джойем в 1991 году. Vim можно использовать как прямо в командной строке (большинство делает именно так), так и через GUI (gVim).

Vim может работать почти во всех операционных системах (вернее я просто не знаю ОС, в которой он не работает, возможно такой нет). А в современных Линуксах Vim вообще встроен по умолчанию. Скачать его для Windows вы можете здесь.

Про Vim и Vi написано внушительное количество книг внушительных объемов (как для текстового редактора), но в этой статье мы ограничимся лишь краткой инструкцией по режимам работы, основным командам и макросам, которых достаточно для комфортного использования редактора.

Режимы работы Vim

  • Режим команд (Command mode) - используется для выполнения команд. При запуске Vim, вы находитесь в этом режиме.

  • Режим вставки (Insert mode) - используется для ввода текста. Для перехода в этот режим, нажмите клавишу "i".

  • Режим замены (Replace mode) - используется для замены существующего текста. Для перехода в этот режим, нажмите клавишу "R".

  • Режим визуального выделения (Visual mode) - используется для выделения текста для копирования, вырезания или изменения. Для перехода в этот режим, нажмите клавишу "v".

Навигация

  • h - переместить курсор влево

  • j - переместить курсор вниз

  • k - переместить курсор вверх

  • l - переместить курсор вправо

  • w - переместить курсор на начало следующего слова

  • b - переместить курсор на начало предыдущего слова

  • e - переместить курсор на конец текущего слова

  • 0 - переместить курсор в начало строки

  • $ - переместить курсор в конец строки

  • gg - переместить курсор в начало файла

  • G - переместить курсор в конец файла

Редактирование текста

  • i - вставить текст перед курсором

  • a - вставить текст после курсора

  • o - вставить новую строку после текущей строки и перейти в режим вставки

  • dd - вырезать текущую строку

  • yy - скопировать текущую строку

  • p - вставить скопированный или вырезанный текст после курсора

  • u - отменить последнее действие

  • Ctrl + r - повторить отмененное действие

Сохранение и выход из редактора

  • :w - сохранить файл

  • :q - выйти из Vim

  • :wq - сохранить файл и выйти

Всё это была лишь небольшая часть команд Vim, но как я уже писал, этого достаточно для быстрого старта и понимания того, что происходит в программе. Если вы хотите запомнить все эти команды и макросы, то рекомендую сразу проделать всё это в каком ни будь подопытном файле. Я думаю, что пары – тройки повторений каждой команды будет вполне достаточно для запоминания, по крайней мере, мне хватило.

На этом эта короткая статья подошла к концу, надеюсь, она была вам полезна. PDF с текстом шпаргалки, и другие полезные материалы вы можете скачать его здесь.

Спасибо!

Комментарии (13)


  1. iig
    09.11.2023 13:31
    +11

    В статье не упомянуто, что команды vim понятны и логичны. ;)


  1. vk6677
    09.11.2023 13:31
    +6

    Не указана важнейшая команда - как выйти из vim, не сохраняя испорченного файла... (Отнеситесь как с шутке, сам использую nvim в работе).


    1. Ava256
      09.11.2023 13:31
      +2

      Команда :q!
      А еще очень полезно будет знать как выйти из vim без перезагрузки сервера ????


  1. Samodelkin333
    09.11.2023 13:31
    -4

    Спасибо, нужная вещь поскольку Nano или MC не везде есть.


  1. NikaLapka
    09.11.2023 13:31

    И чем же он так великолепен и хорош? У vim действительно есть ряд преимуществ, которые отсутствуют в том же nano. Но во-первых, это тема для отдельной статьи, а перед нами всего лишь очередная шпаргалка по vim из поисковой строки гугла. А во-вторых, для новичка vim удобнее чем echo "hello world!" > text.txt , но полный анахронизм если можно просто установить nano.


    1. Mausglov
      09.11.2023 13:31
      +3

      Думаете, там хватит на статью?
      могу лишь сказать, что после vim я в nano испытываю дискомфорт: половину вещей, которые мне нужны, мне удобнее делать в vim, а другую половину я не умею делать удобно ни в vim, ни в nano.
      Хуже nano для меня только mcedit


      1. NikaLapka
        09.11.2023 13:31
        +4

        Вы можете испытывать, что угодно, хоть оргазм. Но не привирайте. Для любого обычного человека вариант работы, редактирования файла сразу после открытия, в любом месте, где курсор удобно перемещается "стрелочками", где можно сразу вводить\править текст, сохранить и выйти - это практически единственный и естественный метод правки текста. Иначе бы мы жили в мире где кроме описанного выше метода в различных офисах, блокнотах, текстовых редакторах, в смартфонах, компьютерах.. был бы ещё какой-нибудь метод работы с текстом с "h - переместить курсор влево", "a - вставить текст после курсора".. но оглянитесь, этого нет. А то что есть vim, и кто-то им пользуется, давайте честно скажем - его появление и становление во многом обусловлено средой и временем, количество пользователей его минимально, а для остальных это "непонятная хрень" и какая-нить шпаргалка вроде nano -l file.txt вызывает больше эмоций, чем от vi :set nonumber.


  1. voldemar_d
    09.11.2023 13:31
    +3

    Имхо, вообще не раскрыта тема "насколько он удобен". По сравнению с чем? С отсутствием текстового редактора? :)


  1. GospodinKolhoznik
    09.11.2023 13:31

    Две недели назад был царский холивар, набравший около 1000 комментариев, о том, нужен ли vim в наше время. А это, я так понимаю, эхо холивара.


  1. gun_dose
    09.11.2023 13:31
    +1

    Есть такая шутка, что vim используют те, кто не может из него выйти. А ещё Stackoverflow на основании количества просмотров вопроса о том, как выйти из vim сделал вывод, что в нём застревали как минимум миллион разработчиков.

    А знаете, почему? Да потому что даже вы в своей статье не упомянули, что сначала нужно нажать Esc, чтобы выйти из режима ввода.


    1. GfxMod
      09.11.2023 13:31
      +1

      Сейчас на вопросе уже более 2.9 млн просмотров. Похоже, выход из vim уже можно считать общечеловеческой проблемой :D


  1. Lukerman
    09.11.2023 13:31

    vimtutor


  1. khacsam
    09.11.2023 13:31

    Для меня полезная шпаргалка. Спасибо!