Я использую mvim на моем Mac OS X 10.7.

Как пометить текст для выполнения операций копирования, вставки, удаления и т.д.? Из gvim для Windows я привык использовать клавишу Shift для этого, но на Mac это не работает.

1 ответ1

2

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

Существует два основных способа "дергать", "ставить" и "удалять" произвольный текст в Vim:

  • Использование визуального выбора

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

    1. В обычном режиме поместите курсор на один конец текста, с которым вы хотите что-то сделать.

    2. Войдите в визуальный режим с помощью v .

    3. Переместите курсор на другой конец.

    4. Нажмите y чтобы скопировать выделенный текст, d чтобы удалить его, c чтобы удалить его и войти в режим вставки , P чтобы заменить его содержимым регистра по умолчанию.

    5. Готово.

    v имеет два очень полезных варианта: V для входа в режим визуальной линии и <C-v> для входа в режим визуального блока .

    Вот пример с последовательностью v<left><left>…<left><left>y (конечно, есть более эффективные способы):

    дергать визуальный отбор

    Смотрите :help visual-mode .

  • Использование движений и текстовых объектов

    Этот очень отличается от нормы и также чрезвычайно эффективен.

    1. В обычном режиме поместите курсор на один конец текста, с которым вы хотите что-то сделать. Некоторые текстовые объекты / движения не требуют этого.

    2. Нажмите y (или d или c).

    3. Определите диапазон или цель, по которой действовать с помощью i( или f" .

    4. Готово.

    Вот пример с этой последовательностью dta:

    удаление с движением

    Смотрите :help motion.txt .

Конечно, он работает одинаково на Windows, Linux и Mac OS X, и, конечно, вы можете смешивать и сочетать эти два метода в соответствии с вашими потребностями.

Пример "дергания" может быть достигнут с помощью vbbby , v4by , v2Fiy , v?ip<esc>y , y2Fi и т. д. в зависимости от количества слов / строк, с которыми вы имеете дело, и пример "удаления" может быть достигнут с помощью v<right><right>…<right><right>d , vll…lld , vwwwhd , vfad и т. д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .