Linux

Станьте мастером Vi, изучив эти 30+ ключевых привязок

image

Vi — это мощный текстовый редактор, включенный в большинство систем Linux. Многие люди клянутся vi и находят его быстрее, чем любой другой редактор, как только узнают его привязки клавиш. Вы даже можете использовать привязки клавиш vi в Bash.

Мы уже рассмотрели начало работы с vi для начинающих. Если вы некоторое время не использовали vi, возможно, вы захотите взглянуть на эту публикацию, чтобы освежить в памяти основы.

Переключение режимов

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

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

image

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

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

  • h — Переместить курсор влево.
  • j — Переместить курсор вниз.
  • k — переместить курсор вверх.
  • l — Переместить курсор вправо.

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

  • / — Введите a /, а затем текст, который вы хотите найти, и нажмите Enter, чтобы быстро переместить курсор в положение текста в файле. Например, если в вашем файле есть слово «игуана», введите / iguana и нажмите Enter, чтобы быстро переместить курсор туда.
  • ? — Нравится /, но ищет в обратном направлении.
  • f — Введите f, а затем любой символ, чтобы быстро переместить курсор к следующему вхождению символа в текущей строке. Например, если в строке есть строка «Hello world», а курсор находится в начале строки, введите fo, чтобы перейти к o в Hello. Введите fo еще раз, чтобы перейти к o в мире.
  • F — Как и f, но ищет в обратном направлении.
  • % — переход между ближайшими (), [] или {} символами в строке.

Используйте эти команды для быстрого перемещения к местам в файле:

  • H — Переместить курсор на верхнюю (верхнюю) строку в файле.
  • M — Переместить курсор на среднюю строку в файле.
  • L — переместить курсор на нижнюю (нижнюю) строку в файле.
  • #G — Введите число, а затем введите G, чтобы перейти к этой строке в файле. Например, введите 4G и нажмите Enter, чтобы перейти к четвертой строке в файле.

Перемещение между словами:

  • w — двигаться вперед на слово.
  • #w — Переместиться вперед на несколько слов. Например, 2w движется вперед на два слова.
  • б — Вернитесь на слово назад.
  • #b — Вернитесь на несколько слов назад. Например, 3b перемещает назад на три слова.
  • e — Перейти к концу текущего слова.

image

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

Vi относится к процессу копирования как «дергание».

  • v — Нажмите v и переместите курсор, чтобы выбрать фрагмент текста.
  • y — Скопировать (восстановить) выделенный текст.
  • p — Вставить курсор.
  • x — вырезает выделенный текст. Обрезает символ под курсором, если текст не выделен
  • r — Введите r, а затем введите другой символ, чтобы заменить символ под курсором.

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

Некоторые команды, в том числе приведенные выше команды y и v и команда d (delete), принимают команды перемещения курсора.

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

  • dw — удаляет следующее слово.
  • db — удаляет предыдущее слово
  • de — удаляет до конца текущего слова.
  • dL — удаляет весь текст под курсором в файле.
  • d / unicorn — после нажатия клавиши Enter удаляет весь текст между курсором и словом «единорог» в текущем файле.
  • dd — удаляет всю строку.

Как видите, комбинация комбинации команды с командой перемещения курсора очень мощная.

image

Повторить и отменить

Команда повтора Vi очень мощная, так как она может повторять сложные комбинированные команды.

  • U — Отменить.
  • , -. повторяет последнюю полную команду. Команда вставки также действует здесь как команда. Например, введите iunicorn и нажмите Escape. Затем вы можете использовать. Клавиша для вставки слова единорога в курсор.

Бонус: использование привязок клавиш Vi в Bash

После того, как вы освоите привязки клавиш vi, вы можете захотеть использовать их в других местах вашей системы. Нет проблем — вы можете настроить оболочку Bash на использование привязок клавиш в стиле vi.

Попробуйте это в текущем сеансе, выполнив следующую команду в терминале Bash:

set -o vi

Bash запустится в режиме вставки — нажмите Escape для входа в командный режим и используйте эти привязки клавиш.

Если вам это нравится, вы можете добавить команду в ваш файл ~ / .bashrc, и она будет запускаться автоматически при каждом входе в систему. Используйте команду vi .bashrc, чтобы открыть и отредактировать файл в vi.

image


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

Похожие посты
Linux

8 лучших окружений рабочего стола Linux

AndroidIphone и ipadLinuxWindows

Окончательное руководство по включению темного режима везде

LinuxКак сделать

Что такое Swappiness в Linux? (и как это изменить)

LinuxКак сделать

Как использовать команду ls для вывода списка файлов и каталогов в Linux