Linux vim копировать вставить

Как копировать, вырезать и вставлять в Vim / Vi

При работе с текстовыми файлами копирование, вырезание и вставка текста — одна из наиболее часто выполняемых задач.

Vim или его предшественник Vi предустановлен на macOS и почти во всех дистрибутивах Linux. Знание основ Vim полезно в ситуации, когда ваш любимый редактор недоступен.

В этой статье показано, как копировать, вырезать и вставлять в редакторе Vim / Vi.

Копирование, вырезание и вставка в нормальном режиме

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

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

В Vim есть собственная терминология для копирования, вырезания и вставки. Копирование называется yank ( y ), вырезание называется delete ( d ), а вставка называется put ( p ).

Копирование (Янкинг)

Чтобы скопировать текст, поместите курсор в желаемое место и нажмите клавишу y а затем команду перемещения. Ниже приведены некоторые полезные команды восстановления:

  • yy — Янкнуть (скопировать) текущую строку, включая символ новой строки.
  • 3yy — 3yy (копирование) трех строк, начиная с строки, в которой находится курсор.
  • y$ — копировать (копировать) все от курсора до конца строки.
  • y^ — Янкинг (копирование) всего от курсора до начала строки.
  • yw — Янкнуть (копировать) до начала следующего слова.
  • yiw — yiw (скопировать) текущее слово.
  • y% — Янкнуть (копировать) на соответствующий символ. По умолчанию поддерживаются пары () , <> и [] . Полезно для копирования текста между совпадающими скобками.

Резка (Удаление)

В обычном режиме d — клавиша для вырезания (удаления) текста. Переместите курсор в желаемое положение и нажмите клавишу d , а затем команду перемещения. Вот несколько полезных команд для удаления:

  • dd — Удалить (вырезать) текущую строку, включая символ новой строки.
  • 3dd — Удалить (вырезать) три строки, начиная с линии, в которой находится курсор,
  • d$ — Удалить (вырезать) все от курсора до конца строки.
Читайте также:  What is samba service in linux

Команды движения, применяемые для восстановления, также действительны для удаления. Например, dw удаляет до начала следующего слова, а d^ удаляет все от курсора до начала строки.

Склеивание (Вставка)

Чтобы поместить извлеченный или удаленный текст, переместите курсор в желаемое место и нажмите p чтобы вставить (вставить) текст после курсора, или P чтобы поместить (вставить) перед курсором.

Копирование, вырезание и вставка в визуальном режиме

Визуальный режим Vim позволяет выбирать текст и управлять им.

  1. Поместите курсор на линию, с которой вы хотите начать копирование или резку.
  2. Визуальный режим имеет три подтипа.
    • Нажмите v чтобы войти в визуальный режим.
    • Нажмите V чтобы войти в визуальный линейный режим, в котором текст выделяется построчно.
    • Нажмите Ctrl+v чтобы войти в режим визуального блока. В этом режиме текст выделяется прямоугольными блоками.

Переход в визуальный режим также отмечает начальную точку выбора.

  • Переместите курсор в конец текста, который вы хотите скопировать или вырезать. Вы можете использовать команду перемещения или клавиши со стрелками вверх, вниз, вправо и влево.
  • Нажмите y чтобы скопировать, или d чтобы вырезать выделение.
  • Переместите курсор в то место, куда вы хотите вставить содержимое.
  • Нажмите P чтобы вставить содержимое перед курсором, или p чтобы вставить его после курсора.
  • Выводы

    В этом руководстве мы показали вам, как копировать, вырезать и вставлять в Vim.

    Если вы новичок в Vim, посетите сайт Open Vim, где вы можете попрактиковаться в Vim с помощью интерактивного руководства.

    Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

    Источник

    Шпаргалка по Vim

    Совет: Добавьте число перед командой перемещения курсора для того, чтобы повторить её. Например, 4j перемещает курсор на 4 строки вниз.

    Режим вставки — вставка/добавление текста

    • i — вставка перед курсором
    • I — вставка в начало строки
    • a — вставка (добавление) после курсора
    • A — вставка (добавление) в конец строки
    • o — добавление новой строки под текущей
    • O — добавление новой строки над текущей
    • ea — вставка (добавление) после конца слова
    • Esc — выход из режима вставки

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

    • r — заменить один символ
    • J — присоединить нижнюю строку к текущей
    • cc — заменить всю строку
    • cw — заменить всё текущее слово
    • c$ — заменить до конца строки
    • s — удалить символ и заменить текст
    • S — удалить строку и заменить текст (то же что cc)
    • xp — переставить две буквы (удалить и вставить)
    • u — отменить
    • Ctrl + r — применить последнее отменённое изменение
    • . — повторить последнюю команду
    Читайте также:  How to install wine on kali linux

    Выделение текста (визуальный режим)

    • v — включить режим выделения текста, выделить строки, затем выполнить команду (например, y-копирование)
    • V — включить построчный режим выделения
    • o — переместиться на другой конец выделенной области
    • Ctrl + v — включить режим выделения блоков
    • O — переместить на другой угол блока
    • aw — выделить слово
    • ab — блок в ()
    • aB — блок в <>
    • ib — внутренний блок в ()
    • iB — внутренний блок в <>
    • Esc — выйти из режима выделения текста

    Визуальные команды

    Регистры

    • :reg — показать содержимое регистров
    • «xy — поместить содержимое в регистр x
    • «xp — вставить содержимое регистра x

    Совет: Содержимое регистров сохраняется в ~/.viminfo, и будет восстановлено при следующем запуске vim.

    Метки

    • :marks — список меток
    • ma — установить метку A на текущей позиции
    • `a — переместиться к метке A
    • y`a — скопировать до метки A

    Макросы

    • qa — записать макрос A
    • q — остановить запись макроса
    • @a — run macro a
    • @@ — выполнить последний макрос

    Вырезать и вставить

    • yy — скопировать строку
    • 2yy — скопировать 2 строки
    • yw — скопировать слово
    • y$ — скопировать до конца строки
    • p — вставить буфер обмена после курсора
    • P — вставить буфер обмена перед курсором
    • dd — удалить (вырезать) строку
    • 2dd — удалить (вырезать) 2 строки
    • dw — удалить (вырезать) слово
    • D — удалить (вырезать) до конца строки
    • d$ — удалить (вырезать) до конца строки
    • x — удалить (вырезать) символ

    Выход и сохранение

    • :w — сохранить файл, но не выходить
    • :w !sudo tee % — сохранить файл с sudo
    • :wq либо 😡 либо ZZ — сохранить файл и выйти
    • :q — выйти (терпит неудачу в случае несохраненных изменений)
    • :q! либо ZQ — выйти и потерять несохраненные изменения

    Поиск и замена

    • /pattern — поиск шаблона
    • ?pattern — обратный поиск шаблона
    • \vpattern — ‘very magic’ режим: все не алфавитно-цифровые символы интерпретируются как специальные (экранирование не требуется)
    • n — повторить поиск в том же направлении
    • N — повторить поиск в обратном направлении
    • :%s/old/new/g — заменить все вхождения шаблона в файл на указанное значение
    • :%s/old/new/gc — заменить все вхождения шаблона в файл на указанное значение с подтверждением
    • :noh — отключить подсвечивание результатов поиска
    Читайте также:  Linux выполнить последовательность команд

    Поиск в нескольких файлах

    • :cn — переместиться к следующему совпадению
    • :cp — переместиться к предыдущему совпадению
    • :copen — открыть окно со списком результатов

    Сворачивание

    • zf#j — создает свертку от текущей позиции до # строк вниз
    • zf/подстрока — создает свертку от текущей позиции и до первой найденной подстроки
    • v/V и zf — выделение блока и создание свертки

    После закрытия Vim все свертки забываются, для сохранения сверток в открытом файле используется команда :mkview , для загрузки — :loadview (подробнее).

    Работа с несколькими файлами

    • :e file — редактировать файл в новом буфере
    • :bnext либо :bn — перейти к следующему буферу
    • :bprev либо :bp — перейти к предыдущему буферу
    • :bd — удалить буфер (закрыть файл)
    • :ls — список всех открытых буферов
    • :sp file — открыть файл в новом буфере и разделить окно
    • :vsp file — открыть файл в новом буфере и вертикально разделить окно
    • Ctrl + ws — разделить окно
    • Ctrl + ww — переключение окон
    • Ctrl + wq — закрыть окно
    • Ctrl + wv — разделить окно вертикально
    • Ctrl + wh — переместить курсор в левое окно (вертикально разделение)
    • Ctrl + wl — переместить курсор в правое окно (вертикальное разделение)
    • Ctrl + wj — переместить курсор в окно ниже (горизонтальное разделение)
    • Ctrl + wk — переместить курсор в окно выше (горизонтальное разделение)

    Вкладки

    • :tabnew либо :tabnew file — открыть файл в новой вкладке
    • Ctrl + wT — переместить текущее окно в собственную вкладку
    • gt либо :tabnext либо :tabn — переключиться на следующую вкладку
    • gT либо :tabprev либо :tabp — переключиться на предыдущую вкладку
    • #gt — переключить на вкладку номер #
    • :tabmove # — переместить текущую вкладку на # позицию (нумерация с 0)
    • :tabclose либо :tabc — закрыть текущую вкладку и все её окна
    • :tabonly либо :tabo — закрыть все вкладки кроме текущей
    • :tabdo command — выполнить command на всех вкладках (к примеру :tabdo q — закрывает все открытые вкладки)

    Источник

    Оцените статью
    Adblock
    detector