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

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

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

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

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

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

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

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

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

    • час - Переместить курсор влево.
    • J - Переместить курсор вниз.
    • К - Переместить курсор вверх.
    • L - Переместить курсор вправо.

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

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

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

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

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

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

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

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

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

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

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

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

    • с.в. - Удаляет следующее слово.
    • децибел - Удаляет предыдущее слово
    • де - Удаляет до конца текущего слова.
    • дл - Удаляет весь текст под курсором в файле.
    • д / единорог - После нажатия Enter удаляет весь текст между курсором и словом «единорог» в текущем файле..
    • дд - Удаляет всю строку.

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

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

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

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

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

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

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

    set -o vi

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

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


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