Как создать файл в vim
Перейти к содержимому

Как создать файл в vim

  • автор:

Руководство по текстовому редактору Vim для начинающих

V im — один из самых популярных и знаменитых текстовых редакторов в истории Linux. Для тех из вас, кто не знает, Vim — это текстовый редактор на основе командной строки, который существует уже очень давно. Люди, которые используют Vim, часто верят ему, и есть веские причины, почему Vim является таким легендарным редактором. Сначала небольшое введение:

Вступление

Название «Vim» представляет собой комбинацию слов «Vi Improved». Vi был текстовым редактором в исходной системе Unix. Vim известен как один из самых надежных текстовых редакторов, и хотя он изначально был написан для Amiga, он стал кроссплатформенным для каждой операционной системы. Некоторые отличные и хорошо реализованные функции Vim:

Горячие клавиши

Это уникальная особенность Vim. Существует множество сочетаний клавиш почти для всего, что вам нужно сделать, и это поднимает вашу продуктивность на более высокий уровень. Поскольку Vim основан на командной строке, в нем не задействована мышь, и знакомство с привязками клавиш является сутью Vim. Мы обсудим некоторые из этих ярлыков более подробно позже.

Плагины

Благодаря такому многолетнему существованию сообщество пользователей Vim разработало для него множество плагинов, чтобы сделать рабочий процесс еще более плавным. Плагины призваны сделать работу более комфортной, независимо от того, с каким языком вы работаете. Например, я недавно работал над документом LaTeX, и использование плагина Vim-LaTeX мне очень помогло. У Vim есть множество плагинов для самых разных целей. Это может быть причудливый файловый браузер с древовидной структурой или еще несколько уловок для повышения производительности.

Универсальность

Vim долгие годы был редактором предпочтений многих пользователей. Благодаря этому Vim поддерживает почти все языки, которые вы только можете придумать. Подсветка и отступы для большинства распространенных языков встроены. Это редактор, созданный в 80-х, поэтому мне не нужно говорить, что он хорошо работает независимо от того, какое у вас оборудование или на каком устройстве, если он поддерживает Vim.

Установка VIM и все, что вам нужно знать

Есть вероятность, что в вашей системе не установлен Vim. Для проверки введите:

Если вы видите информацию о Vim в терминале, значит, она у вас в системе.

Информация о версии VimИнформация о версии Vim

Если вы этого не сделаете, вы можете установить его с помощью следующих команд:

Ubuntu / Debian и их производные
Fedora
использование

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

Создание / открытие файла

Первая часть текстового файла — это его открытие / создание. Для создания файла все, что вам нужно сделать, это перейти в то место, где вы хотите разместить данные, и ввести эту команду.

Если файл с таким именем уже существует, он будет открыт. Это означает, что вы можете открывать файлы таким же образом. Есть еще один способ открыть файл. Сначала просто откройте Vim в терминале:

Когда вы начнете печатать, вы заметите, что все, что вы пишете, начинает отображаться в нижней части окна. Вы только что написали команду! Почти все команды, не связанные с конкретным символом, словом или строкой, начинаются с символа «:».

Мы успешно открыли файл. Пойдем дальше что-нибудь в нем напишем.

Начинаем писать

Если после открытия файла вы начнете вводить случайные символы, вы заметите, что они не записываются. Это почему? Причина в том, что вы все еще находитесь в так называемом «нормальном» режиме. По умолчанию Vim запускается в этом режиме. В обычном режиме вы можете вводить в файл различные команды. Однако вы все равно можете перемещаться по данным. Чтобы начать писать, просто нажмите клавишу I. Это переведет Vim в режим вставки. Вы увидите, что он находится в режиме вставки, поскольку в нижней части окна появится строка «- INSERT -». Теперь вы можете начать печатать. Важно отметить:

Чтобы выйти из НОРМАЛЬНОГО режима и войти в режим ВСТАВКИ, нажмите I.
Чтобы выйти из режима INSERT и войти в НОРМАЛЬНЫЙ режим, нажмите ESC.

Режим вставкиРежим вставки

Справочные методы

Следующие задачи по написанию и редактированию текста требуют знания ссылки на текст. Вы должны знать, как выделить текст, который хотите изменить. Всего их четыре:

Применить от позиции курсора до конца текущего слова.

Применить от места нахождения курсора до начала следующего слова.

Применять от позиции курсора до начала строки.

Применять от позиции курсора до конца строки.

Вы также можете применить это к нескольким словам / строкам. Например, если вы хотите реализовать что-то до двух слов, введите 2e. Эти методы будут иметь разные приложения в сочетании с другими командами, как мы увидим позже.

Навигация

В Vim есть множество способов навигации. В основном это:

  • Клавиши со стрелками: они помогут вам обойти файл очевидным образом (в направлении, указанном клавишами).
  • Vim традиционно использует H, J, K и L для навигации вместо клавиш со стрелками. Последовательность такая:
    • H: слева
    • J: Вниз
    • K: ВВЕРХ
    • L: Вправо

    Это были некоторые базовые методы навигации в Vim.

    Вставка текста

    Вставка текста не требует особого объяснения после того, как вы вошли в режим вставки, но вот несколько уловок, которые вам пригодятся.

    Если вы находитесь в строке и хотите добавить к ней (как при продолжении записи в конце строки), просто нажмите Shift + A из любой позиции в этой строке, и курсор переместится туда в режиме вставки.

    Предположим, вы хотите ввести новую строку сразу под строкой, в которой вы находитесь, нажмите O в любом месте текущей строки. Если вы собираетесь писать с новой строки сразу над текущей строкой, нажмите Shift + O в любом месте. В обоих случаях вы попадете на новую строку в режиме вставки.

    Замена текста

    Следующая полезная вещь в Vim — это команды для замены текста. Здесь мы также будем использовать ссылочные методы, о которых мы говорили. Основная команда:

    • Чтобы заменить один символ, переместите курсор на этот символ и нажмите р. Какой бы символ вы ни набирали следующим, он заменит этот символ.
    • Чтобы заменить текст от позиции курсора до конца текущего слова, нажмите ce. После этого начните вводить требуемый текст.
    • Чтобы заменить текст от позиции курсора до конца строки, нажмите c $.
    • Чтобы заменить текст, установите курсор в конец строки, нажмите c0.
    • Также есть «Режим замены». С позиции, с которой вы хотите начать, нажмите Shift + R, и весь текст, который вы вводите после этого, заменит любой текст, который будет следующим, насколько вы набираете. Заменить режимЗаменить режим

    Вы также можете использовать cw если вы хотите заменить пробел после слова, но один пробел или нет, не имеет большого значения.

    Удаление текста

    Теперь, когда у вас есть базовое представление об использовании ссылочных методов, команды удаления текста станут проще простого. Хорошо:

    • Для простого удаления одного символа перейдите к этому символу и нажмите Икс.
    • Чтобы удалить от позиции курсора до конца слова, в котором вы находитесь, нажмите де.
    • Чтобы удалить от позиции курсора до конца строки, нажмите d $.
    • Для удаления от позиции курсора до начала строки нажмите d0.
    • Чтобы удалить всю строку из любого места в строке, нажмите дд.

    Напоминаем, что если вы хотите удалить сразу два слова, как упоминалось ранее, вы можете использовать d2w. Хорошо, это веха; вы прошли базовую часть редактирования. Теперь перейдем к более продвинутым вещам.

    Выбор

    Выделить текст можно довольно быстро. Перейдите в позицию, с которой хотите начать выбор, и нажмите клавишу V. Когда вы перемещаете курсор с помощью клавиш навигации, содержимое будет выделено.

    Выделив текст, вы можете делать с ним все, что угодно. Например, если вы хотите удалить его, просто нажмите d после необходимого выбора. Чтобы начать замену текста, нажмите c после выбора необходимого текста.

    Выбранный текстВыбранный текст

    Есть еще одна интересная вещь, которую вы можете сделать с выделенным текстом в Vim, — это экспортировать его во внешний новый файл. Выделив текст, нажмите клавишу ‘:’, и вы увидите следующее приглашение:

    После этого команда для экспорта этого в новый файл заставит приглашение выглядеть так:

    «Дергать» означает копировать текст. Чтобы восстановить текст, сначала выберите текст с помощью v как упоминалось ранее, а затем нажмите у дергать его.

    Положил

    Команда put похожа на команду paste, но имеет более широкое применение. Его можно использовать не только для вставки извлеченного текста, но и для вставки последнего удаленного текста. Например, если вы только что удалили слово с де, перейдите в нужное место и нажмите п, и вы увидите, что там появляется этот текст.

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

    Поиск

    Для поиска текста в Vim нажмите / и введите то, что вы хотите найти. После нажатия Enter вы увидите результаты поиска. Таким образом, команда выглядит так:

    Чтобы перейти к следующему результату поиска, нажмите клавишу N, а для перехода к предыдущему результату нажмите Shift + N.

    Заменять

    Команды подстановки имеют различные варианты. Первая его часть включает только внесение изменений в активную строку. Базовая команда для замены первого момента слова выглядит так:

    Например, если я хочу заменить в этой строке первый экземпляр Ubuntu на Fedora, команда будет выглядеть так:

    Если вы собираетесь заменить все экземпляры слова из активной строки, введите команду:

    Если вы хотите заменить все экземпляры слова во всем файле, используйте следующую команду:

    Вы также можете получить запрос на замену слова в каждом его экземпляре:

    Замена текстаЗамена текста

    Статус файла

    Чтобы получить базовый статус файла и местоположения в Vim, нажмите Ctrl + G. Информация, которую вы получите:

    • Имя файла
    • Записывается [Изменено], если файл каким-либо образом был изменен.
    • Линия, в которой вы находитесь, с общим количеством строк.
    • Расположение курсора в процентах по сравнению с содержимым всего файла.
    • Номер столбца

    Внешние команды

    Вот так; вы можете запускать команды Bash из Vim. Сделать это довольно просто:

    Это особенно полезно, если вы хотите проверить, существует ли уже файл или нет, или если вы хотите создать новый файл и открыть его из Vim. Пример:

    Запуск ls в VimЗапуск ls в Vim

    Отменить повторить

    Все, что вы только что научились делать, можно отменить простым нажатием клавиши U. Чтобы вернуть строку, в которой вы находитесь, в исходное состояние, нажмите Shift + U.

    Для повтора нажмите Ctrl + R.

    Сохранение / Выход

    Наконец, есть несколько способов выйти / сохранить файл.

      Если вы хотите просто сохранить файл и не выходить из него, введите эту команду:

    Итак, видите ли, выйти из Vim не так сложно, как вам кажется.

    Вывод

    Vim — удобный редактор, который, честно говоря, всего в шаге от полноценной операционной системы. Как вы видели, в нем есть много полезных команд и ярлыков, которые в большинстве случаев позволят вам добиться максимальной производительности. Благодаря таким функциям он стал предпочтительным редактором для многих людей, охватывающих значительное количество вариантов использования. Конечно, это требует некоторого привыкания, но это впечатляет, если вы освоитесь. Чтобы получить более интерактивное руководство, рассмотрите возможность запуска vimtutor команда. Надеемся, эта статья помогла. Ваше здоровье!

    • 09/08/2021
    • 0
    • Руководство для начинающих

    Как смонтировать USB-накопитель в Linux

    Как смонтировать USB-накопитель в Linux

    • 09/08/2021
    • 0
    • Руководство для начинающих

    Большинство из вас должны знать, как Linux с графическим интерфейсом пользователя автоматически монтирует USB-накопитель при подключении к USB-порту. В этом руководстве объясняется, как смонтировать USB-накопитель через командную строку, чтобы вы .

    6 лучших способов просмотра файлов в Linux

    6 лучших способов просмотра файлов в Linux

    • 09/08/2021
    • 0
    • Руководство для начинающих

    ТФайлы ext являются важной и неотъемлемой частью любой компьютерной системы. Файлы конфигурации, сценарии программирования и даже документы, созданные пользователями, представляют собой простые текстовые файлы. Кроме того, хотя сейчас существует н.

    Файловые системы Linux: все, что вам нужно знать

    Файловые системы Linux: все, что вам нужно знать

    • 09/08/2021
    • 0
    • Руководство для начинающих

    WПри работе с дисками и операционными системами после определенного уровня мы сталкиваемся с некоторыми терминами, о которых мы смутно знаем, и для многих из нас они не совсем понятны. Что ж, в этой статье мы стремимся охватить все, что касается ф.

    Редактор VIM как пользоваться, инструкция команд

    Vim — один из наиболее функциональных текстовых редакторов для интерфейса командной строки. Построенный на основе “vi”, редактора 1976 года, vim мощнее и обладает дополнительными возможностями, сохраняя подход своего предшественника к работе с текстами.

    Установка

    Редактор есть практически в любом стандартном репозитории каждого дистрибутива Linux. Воспользуйтесь своим установщиком пакетов (например, yum для CentOS):

    После этого vim должен корректно установиться.

    Запуск Vim

    Если не указывать никаких агрументов открывается пустой файл. В зависимости от вашего дистрибутива могут присутствовать представление и информация о лицензии.
    Когда вы начнете пользоваться редактором, они пропадут. Чтобы открыть файл, укажите его имя. Например, далее мы создадим файл “newfile” и откроем его в vim.

    Открытие файла при помощи vim:

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

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

    Нормальный режим

    Режим по умолчанию, в котором vim находится после запуска. Применяется для быстрой навигации по документу и редактирования: в нем можно копировать, вставлять, перемещать, удалять и изменять текст. Переход из других режимов осуществляется нажатием клавиши «escape». Для набора текста не используется.

    Режим вставки

    Для набора текста нужно перейти в режим “вставки”. Он похож на интерфейс набора текста многих других программ. Вводимый вами текст появляется на экране в документе, каждая клавиша соответствует своему символу. Перейти в этот режим можно следующим образом:

    i — в текущем положении курсора
    a — на следующем символе после текущего положения
    I — в начале текущей строки
    A — в конце текущей строки

    Режим визуального выделения

    Позволяет визуально выделять текстовые фрагменты. Затем к ним можно применять команды нормального режима для редактирования или форматирования.

    v — режим обычного (посимвольного) визуального выделения перемещением курсора вверх, вниз, влево или вправо

    V — режим построчного визуального выделения. Строки выделяются целиком перемещением вверх или вниз

    [ctrl]-v — режим блочного визуального выделения. Выделяется прямоугольный участок, который можно увеличивать и уменьшать. Позволяет выбирать фрагменты нескольких линий.

    Перемещение

    Вы всегда можете передвигаться по документу стрелками, но vim предоставляет более быстрый и удобный способ. В нормальном режиме для навигации применяются следующие клавиши:

    h — перемещение влево
    j — перемещение вниз
    k — перемещение вверх
    l — перемещение вправо

    Сначала эти клавиши могут показаться непонятными и неинтуитивными, но они были выбраны потому, что находятся в среднем ряду на стандартной клавиатуре. Это значит, что рука пользователя проходит от положения покоя значительно меньшее расстояние, чем при использовании стрелок.

    Также есть дополнительные функции навигации, вот несколько наиболее важных:

    gg — переход в начало документа
    G — переход в конец документа. Если предварительно ввести номер — переместиться на строку с этими номером
    w — перемещение к следующему слову. Если предварительно ввести количество — переместиться на это количество слов
    b — перемещение к предыдущему слову. Если предварительно вввести количество — переместиться на это количество слов назад
    e — перемещение к концу слова. Если предварительно указать количество — переместиться на указанное количество слов
    0 — перемещение к началу строки
    $ — перемещение к концу строки

    Поиск текста

    Что бы найти фрагмент текста, нужно перед текстом поиска ввести слэш «/» и нажать enter

    Если же наоборот нужно сделать явное задание регистрозависимого поиска используйте комбинацию «/\C»

    Что бы найти следующий фрагмент нажмите «n» предыдущий «N»

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

    Редактирование выполняется посредством команд в нормальном режиме. Они очень эффективны в комбинации с командами перемещения. Любая команда из раздела перемещения может задать направление. Например, можно удалить или скопировать одно слово, указав “w” за соответствующей командой.

    Рассмотрим наиболее употребимые действия.

    Удаление текста

    x — удалить символ на позиции курсора
    d — удалить в заданном командой перемещения направлении. Например, “dl” удаляет один символ справа
    dd — удалить строку
    D — удалить все символы от положения курсора до окончания строки

    Замена текста

    r — заменить символ на позиции курсора заданным после команды символом
    c — заменить в заданном командой перемещения направлении. Например, “cb” заменяет предыдущее слово. Для набора текста на замену запускается режим вставки.
    C — заменить до окончания строки. Текст на замену набирается в режиме вставки.

    Копирование и вставка

    y — копировать в заданном далее направлении
    yy — копировать всю строку
    Y — копировать до окончания строки
    p — вставить последнюю скопированную (или удаленную!) строку ниже текущей
    P — вставить последнюю скопированную (или удаленную!) строку выше текущей

    Дополнительные команды редактирования

    u — отменить последнее действие
    <ctrl>-r — вернуть последнее отмененное действие
    J — присоединить строку ниже к текущей

    Командный режим

    Используется для продвинутого редактирования, изменения параметров и управления. В нем выполняется сохранение, выход из программы, продвинутый поиск и многое другое. Активируется клавишей двоеточия “:”.

    Команды управления

    Команды управления задаются вводом “:” перед каждой командой.

    :q — выход из программы. Действие не будет выполнена, если не сохранить изменения
    :q! — выход из программы с отменой всех изменений, которые не были сохранены
    :w — сохранить изменения. При первичном сохранении или сохранении в другой файл укажите имя через пробел
    :e — редактировать указанный далее файл
    :bn — редактировать следующий файл (если открыто несколько файлов)
    :bp — редактировать предыдущий файл (если открыто несколько файлов)
    :qw – сохранить файл и выйти

    Объединение команд

    Как упоминалось выше, эффективность vim обусловлена возможностью строить цепочки разных действий. Лучше всего этот принцип иллюстрируется, если представлять команды vim в виде языка. Клавиши в нормальном режиме играют роль различных частей речи.

    Например, для копирования 5 слов представьте эту фразу как команды, которые понимает vim. Это будет выглядеть так:

    :y5w (y — копировать, 5 — количество, w — слов)

    Удалить текст от текущей позиции до окончания файла:

    :dG (d — удалить, G — переход в конец файла)

    Также полезно усвоить ряд используемых в действиях vim принципов. Например, сдвоенный символ обычно распространяет действие команды на всю строку. Следующая команда скопирует не один символ, а строку целиком:

    :yy

    С другой стороны, соответствующая команде заглавная буква часто действует от положения курсора до окончания линии. В случае с изменением текста это будет следующая команда:

    :C

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

    :2C

    Заключение

    Vim — очень мощный инструмент, но рассмотрение многих его функциональных возможностей выходит за пределы этой статьи. Если вы хотите узнать больше, полезно начать со встроенного в vim обучающего интерфейса:

    В нем не рассматриваются тонкости, но он позволит вам разобраться в работе vim и освоить основы редактирования.

    Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

    Как пользоваться текстовым редактором vim

    Опытные пользователи Linux часто используют терминал, потому что так можно намного быстрее выполнить необходимые действия. Во время настройки системы нам довольно часто приходится редактировать различные файлы. Это могут быть настройки программ, какие-нибудь данные или обычные текстовые файлы.

    В операционной системе Linux есть несколько текстовых редакторов, которые работают в терминале. Чаще всего новички используют редактор nano, но если вы заметили на нашем сайте во всех статьях используется текстовый редактор vi. Nano неудобный, и недостаточно функционален. Я сознательно не пишу в своих статьях о nano. Есть намного лучший текстовый редактор, это редактор vi. Здесь поддерживается быстрое перемещение по тексту, удобное редактирование, команды для изменения настроек работы, выполнение команд терминала из редактора, а также плагины для расширения функциональности. Но он немного сложный для новичков и очень непривычный.

    В этой статье мы рассмотрим как пользоваться vim, рассмотрим основы работы с этим редактором, а также его основные команды.

    Редактирование файла в Vim

    Я рекомендую использовать редактор Vim практически во всех статьях на этом сайте, где надо что-то отредактировать. Но у многих пользователей возникают проблемы при использовании этого редактора. Эта статья написана чтобы помочь их решить. Но если вам быстро надо отредактировать файл и вы не хотите читать всё, в этом разделе я сделал небольшую инструкцию как внести изменения и выйти. Для того чтобы открыть файл выполните:

    Затем нажмите i, для того чтобы перейти в режим редактирования. Здесь вы можете редактировать файл так же, как и в nano. После того как завершите нажмите Esc, чтобы перейти в командный режим и наберите :wq. Записать и выйти. Все, готово.

    Минимальные основы

    На данный момент существует две версии редактора — vi и vim. Vim расшифровывается как Vi Improved, улучшенный vi. Это новая версия, которая принесла очень много улучшений. В большинстве современных дистрибутивов используется именно она. Поэтому если я буду писать vi, это значит, что я предполагаю использование vim.

    Текстовый редактор Vim может работать в двух режимах. Это и есть его главная особенность. Первый режим, который используется по умолчанию при открытии редактора — это командный. В этом режиме вы можете вводить команды vi, а также использовать символьные клавиши для управления редактором. Второй режим — обычное редактирование текста, он работает так же как и редактирование текста в nano. Для переключения в командный режим используется клавиша Esc. Для переключения в режим редактирования — клавиша i. Если вас интересует только как в редакторе vi сохранить и выйти, листайте вниз, но если вы хотите узнать как пользоваться текстовым редактором vim, эта статья для вас.

    Перед тем как идти дальше я бы посоветовал вам пройти курс обучения встроенный в редакторе. Выполнение всех обучающих заданий займет 25-30 минут. Это поможет вам закрепить всё знания полученные из этой статьи на практике. Дело в том, что команд и сочетаний клавиш у vim очень много и запомнить их все без практики невозможно. Для запуска обучения наберите:

    Но делать это сейчас необязательно, в этой статье есть вся необходимая базовая информация и после ее прочтения вы уже сможете уверенно пользоваться vim, а обучение пройти чуть позже.

    Как использовать редактор Vim

    Начнем мы, как обычно с запуска программы, а также опций, которые ей можно передать. Синтаксис Vim очень прост:

    $ vim опции имя_файла

    $ vi опции имя_файла

    Если в вашей системе установлен пакет vim, то команда vi будет ссылаться на исполняемый файл vim. В таком случае между этими командами нет разницы. Простой запуск vim без указания имени файла приведет к созданию пустого файла. А теперь давайте рассмотрим основные опции запуска:

    • +номер — переместить курсор к указной строке после запуска.
    • +/шаблон — выполнить поиск по шаблону и переместить курсор к первому вхождению
    • «+команда» — выполнить команду после запуска программы
    • -b — двоичный режим, для редактирования исполняемых файлов.
    • -d — режим поиска различий в файлах, нужно указать несколько файлов для открытия.
    • -g — графический режим.
    • -n — не использовать автосохранение для восстановления файла при сбое.
    • -R — режим только для чтения.
    • -w — сохранить все действия в файл.
    • -x — шифровать файл при записи.
    • -C — режим совместимости с Vi.

    Круто, правда? Но это только начало. Опции ничего по сравнению с командами редактора.

    1. Перемещение курсора

    В командном режиме вы можете перемещаться по редактируемому тексту и выполнять действия над ним с помощью буквенных клавиш. Именно этот режим открывается по умолчанию при старте редактора. Большинство команд состоят из одного символа, обычно буквы или знака. Но многие команды принимают параметры. Например, в командах для перемещения курсора вы можете набрать цифру перед командой чтобы указать на сколько символов или строк надо переместится. Для начинающих может быть поначалу очень запутанно то, что в командном режиме символы интерпретируются как команды.

    Для перемещения используются такие команды:

    • h — на один символ влево;
    • l — на один символ вправо;
    • j — на одну строку вниз;
    • k — на одну строку вверх;
    • w — на слово вправо;
    • b — на слово влево;
    • H — перейти в низ экрана;
    • G — перейти в конец файла;
    • gg — перейти в начало файла;
    • <номер>G — перейти к конкретной строке;
    • . — перейти к последнему редактированию.

    Можете запустить редактор и поэкспериментировать, чтобы было легче понять как это работает. Начните с h, l, j, k — многие пользователи используют их для перемещения по тексту не только в Vim, потому что это позволяет не открывать руки от клавиатуры. Если перед тем как нажать кнопку буквы нажать цифру, то эта команда будет повторена несколько раз. Например, 3j переведет курсор на три строки вверх.

    Очень часто возникает необходимость перейти в начало строки или в её конец. Команды Vim могут с этим помочь. Используйте команду ^ для того чтобы перейти в начало строки или команду $ для перехода в конец строки. Обратите внимание, что для того чтобы набрать эти команды нужно зажать Shift и нажать 4 или 6.

    2. Режим редактирования

    Для переключения в режим редактирования используются такие команды:

    • i — вставить текст с позиции курсора, символ под курсором будет заменен;
    • I — вставить текст в начало строки;
    • a — добавить текст начиная от позиции курсора;
    • o — вставить новую строку после этой и начать редактирование;
    • O — вставить новую строку перед этой и начать редактирование;

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

    3. Удаление символов и строк

    Вы можете править текст не только в обычном режиме, но и в командном с помощью команд. Иногда это даже удобнее чем в режиме редактирования. Например, вы можете удалять символы. Для этого применяются такие команды:

    • d — удалить символ;
    • dd — удалить всю строку;
    • D — удалить символы начиная от курсора и до конца строки.

    Эти команды редактора vim работают немного по-другому после нажатия одной из них ничего не произойдет. Мы еще можем задать сколько раз нужно повторить команду, но также нужно указать количество символов количество символов, к которым она будет применена и направление, с помощью кнопок перемещения курсора. Это делается после нажатия команды. Например, для того чтобы удалить один символ справа наберите dl. Чтобы удалить два символа справа от курсора нажмите d3l, а чтобы удалить три строки вниз — d3j.

    4. Замена символов

    В командном режиме вы можете не только удалять символы, но и заменять их на другие. Для этого существуют две команды:

    • r — заменить текущий символ;
    • R — заменить несколько символов.

    Первая команда позволяет заменить один символ и вернутся в командный режим. Вторая команда будет заменять все символы, пока вы не вернетесь в командный режим нажатием клавиши Esc:

    5. Отмена и повтор действий

    В обычных текстовых редакторах вы можете использовать Ctrl+Z для отмены последних действий. В редакторе Vim есть собственная история действий. Она доступна в командном режиме. Если вы хотите отменить последнее изменение, просто нажмите u. Обратите внимание, что каждое следующее нажатие этой кнопки будет отменять предыдущее изменение сделанное в командном режиме. Например, если вы удалили один символ командой d, то он будет восстановлен.

    Однако, если вы переключитесь в режим редактирования и сделаете там много изменений, а потом вернетесь в командный режим, то все эти изменения будут рассматриваться как одно. Если вы случайно отменили что-то важное, то можете повторить действие, нажав Ctrl+r:

    Вот некоторые команды для отмены и повтора действий:

    • u — отменить последнее действие;
    • U — отменить последнее действие в текущей строке;
    • . — повторить последнее действие;
    • Ctrl+r — отменить отмену последнего действия.

    6. Командная строка Vim

    Командная строка Vim запускается в командном режиме нажатием двоеточия — «:«. Здесь доступны команды для сохранения файла и выхода из редактора, настройки внешнего вида и взаимодействия с внешней оболочкой. Рассмотрим наиболее часто используемые команды редактора vim:

    • :w — сохранить файл;
    • :q — закрыть редактор;
    • :q! — закрыть редактор без сохранения;
    • :e файл — прочитать содержимое файла в позицию курсора;
    • :r файл — вставить в содержимое файла в следующую строку;
    • :r! — выполнить команду оболочки и вставить ответ в редактор;
    • :set переменная=значение — установить значение переменной, например, tabstop=4, или set number, с помощью этой команды можно управлять многими аспектами работы vim.
    • :buffers — посмотреть открытые файлы;
    • :reg — посмотреть содержимое буферов обмена.

    Со всеми основами разобрались, и вы теперь использование vim не будет казаться вам таким сложным. Но это еще далеко не все, этот мощный редактор может еще очень многое. Дальше мы рассмотрим несколько примеров использования vim, чтобы вам было легче справиться с новой программой.

    7. Выделение и буфер обмена

    Текстовый редактор Vim поддерживает выделение текста без использования мышки. Поэтому вы можете копировать и вставлять текст даже в TTY окружениях, без графического интерфейса. Нажмите v когда вы находитесь в командном режиме для перехода в режим выделения. Затем вы можете использовать кнопки перемещения курсора h, j, k, l для выделения нужных символов или строк:

    Теперь вы можете выполнять какие-либо действия с выделенным текстом. Например, можно его удалить, нажав кнопку d. Для того чтобы сбросить выделение нажмите кнопку Esc. Это ещё не всё. У Vim есть свой буфер обмена, который можно использовать для копирования и вставки текста. Этот буфер обмена состоит из нескольких регистров. Если не задать иное, то все команды работают с буфером обмена по умолчанию. Вот основные команды для копирования и вставки текста:

    • y — скопировать в буфер обмена;
    • yy or Y — скопировать строку в буфер обмена;
    • x — вырезать в буфер обмена;
    • p — вставить из буфера обмена.

    Команды для копирования и вырезания работают аналогично командам для удаления текста. Вы можете задать количество символов и направление или же просто выделить текст. Обратите внимание, что у каждого запущенного экземпляра Vim свой отдельный регистр буфера обмена, и он не связан с системным буфером обмена. Поэтому вы не сможете скопировать текст из одной программы в другую без дополнительных действий или настроек.

    Если вы хотите скопировать данные в системный буфер обмена, сначала необходимо убедится что Vim, установленный в вашей системе это поддерживает. Для этого выполните команду:

    vim —version | grep clip

    Если эта возможность поддерживается вы увидите +clipboard или +xterm_clipboard. Давайте вернемся к регистрам. В Vim есть несколько регистров буфера обмена и один из них связан с системным буфером обмена. Это регистр «+. Вы можете вывести все регистры и их содержимое с помощью команды:

    Регистр с именем «» это тот самый буфер обмена, который используется по умолчанию. Если вы хотите скопировать текст в системный регистр, необходимо набрать имя регистра перед командой копирования. Например, нажмите «+ а затем y. Обратите внимание, что нужно использовать клавишу Shift для получения нужного символа. Надо нажать Shift+’ и Shift+=.

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

    После этого вы сможете вставить текст в любом месте операционной системы.

    8. Поиск и замена в Vim

    Довольно часто нам нужно найти определенную последовательность в тексте. Текстовый редактор Vim умеет это делать. Во-первых, если нужно найти символ в строке, нажмите f и наберите нужный символ, курсор будет перемещен к его позиции.

    Для поиска по всему файлу используйте команду /. После нее нужно ввести слово, которое нужно найти. Для поиска следующего вхождения используйте n, для предыдущего — N.

    Вот основные команды для поиска:

    • f — найти один символ;
    • / — искать несколько символов;
    • n — найти следующее вхождение;
    • N — найти предыдущее вхождение.

    Для замены будет использоваться немного другая конструкция:

    Например, давайте заменим все вхождения слова Alice на Robert:

    Двоеточие запускает командную оболочку с командой s для замены. Символ % означает что обрабатывать нужно весь файл, а g значит, что нужно обработать все найденные строки, а не только первую. Чтобы программа спрашивала перед каждой заменой можно добавить в конец строки опцию c.

    9. Редактирование нескольких файлов

    Чтобы открыть несколько файлов, просто передайте их в параметры при запуске программы:

    vim /etc/default/grub /etc/default/cron

    Редактор vim linux откроет первый файл, для переключения ко второму используйте команду :n, чтобы вернутся назад :N. С помощью команды :buffers вы можете посмотреть все открытые файлы, а командой :buffer 1 переключится на первый файл.

    10. Кириллица в Vim

    Кириллица в Vim работает превосходно. Но есть одно но, когда включена кириллица в системе, все команды vim не работают, им и не нужно работать, они же не приспособлены для кириллицы.

    Но переключать каждый раз раскладку, когда работаете в командном режиме тоже не очень удобно, поэтому открываем файл

    /.vimrc и добавляем туда такие строки:

    set keymap=russian-jcukenwin set iminsert=0 set imsearch=0

    Теперь раскладка клавиатуры в командном режиме переключается по Ctrl+^ и все команды работают.

    Выводы

    В этой статье мы рассмотрели как пользоваться текстовым редактором vim. Это еще далеко не все его возможности, но теперь вы можете уверенно обращаться с редактором и забыть о nano. Более подробно о настройке Vim читайте тут. А вы уже пользуетесь Vim? Или другим редактором? Напишите в комментариях!

    How to make a new directory and a file in Vim

    When using Vim as a text editor, is there a way to create new directories and files, while in text editor mode? Instead of going back to the command line and creating a new directory and file.

    hjm's user avatar

    6 Answers 6

    If you are in the file explorer mode, you can use:

    d for creating a directory

    % for creating a new file

    You can get into the explorer mode with issuing a command :Sexplore or :Vexplore

    There is no need to call external commands with !

    Assuming you’re running a shell, I would shell out for either of these commands. Enter command mode with Esc , and then:

    A great plugin for these actions is vim-eunuch, which gives you syntactic sugar for shell commands. Here’s the latter example, using vim-eunuch:

    Switch to file browsing mode

    :Ex or if that is not working use :Explore

    and add the new directory name.

    Assuming you just ran vim on new file in the directory that does not exist:

    When you try :w you will get ‘E212: Can’t open file for writing’
    To create new directory and file use this:

    ggguser's user avatar

    For the sake of completeness:

    Shell out and use normal commands, such as :!mkdir my_dir and :!touch foo.txt (as mentioned in Jake’s answer here) will create the directory and file in CURRENT working directory, which is the directory when you started your current vim process in the beginning, but NOT NECESSARILY the same directory of the file that you are currently editing, or the same directory that your :Explore explorer is currently viewing. When in doubt, always use :!pwd to check your current working directory first, and use relative path when necessary.

    So if your project contains multiple sub-directories, a more convenient way is to:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *