Когда режим Visual используется в Vim?

Я относительно плохо знаком с миром Vim. Я изучал свой путь вокруг этого, но должен все же найти практическую цель перейти к визуальному режиму.

Каковы некоторые сценарии, когда визуальный режим особенно полезен?

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

12
задан Marco 18 July 2013 в 19:49
поделиться

6 ответов

Я использую визуальный режим, когда хочу выделить фрагмент текста. Я начинаю с ввода v в стандартном режиме, который затем включает визуальный режим. Затем я использую клавиши со стрелками для перемещения курсора. Это позволяет выделить текст между моей начальной точкой и текущим положением курсора. После выбора такого участка текста, ввод команды (например, поиск/замена) в командном режиме (при наборе :) повлияет только на выделенную область.

Еще одна полезная визуальная команда - это сдвиг +v (визуальная строка). Она делает то же самое, что и выше, но выбирает целые строки за раз вместо отдельных символов.

7
ответ дан 2 December 2019 в 19:54
поделиться

В дополнение к другим (великим) ответам, это простой способ определить объем для действия. Например, для ограничения поиска и замены на определенный метод ...

Скажите, что у вас есть этот код:

function foo() {
    abc();
    while (1) {
        def();
        abc();
    }
}

Вы можете поместить курсор на любую из брекетов или скобок и нажмите V , % , : : , S / ABC / XYZ / G и ваш поиск и замена будет иметь определенный объем, в котором произойдет действие.

2
ответ дан 2 December 2019 в 19:54
поделиться

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

1
ответ дан 2 December 2019 в 19:54
поделиться
  1. Когда вы хотите прокомментировать блок текста .
    В режиме команд :
    Shift + v. ,ctrl +v, j или k , I , #(комментарий](комментарий) символ) и затем Esc

    Vim вставляет символ комментария к начало блока...

  2. , когда я использую Gvim , мне намного проще скопировать данные . в буфер обмена в визуальном режиме.
    В режиме команд :
    Shift + v. . j или k , " , + .y

    Здесь + - это буфер обмена. register

    Для меня это гораздо более понятно, чем использование маркеров

  3. для ручных отступов

    Shift + v,
    Shift + > для двигаясь вправо. Shift + < for двигаясь влево. . повторяет

это весело :-)

4
ответ дан 2 December 2019 в 19:54
поделиться

Одной из приятных особенностей визуального режима является то, что, поскольку Vim уделяет особое внимание модальности, вы можете выполнять большинство команд, к которым вы привыкли (например, поиск / замена на : s , d , чтобы удалить текст, или r , чтобы заменить текст), а также увидеть, что именно будет затронуто - это позволяет вам определить точный объем того, что вы делаете.

Кроме того, как уже упоминалось кем-то другим, вы можете легко вставить префикс (например, символ комментария или, скажем, & для выравнивания или \ item в LaTeX), выбрав первый символ каждой строки в режиме визуального блока ( ctrl + v ), нажатие I для вставки перед первым символом, ввод любого вы хотите вставить, а затем Esc , чтобы вернуться в нормальный режим.

Последний вид визуального режима - это визуальная линия ( Shift + v ), который позволяет быстро выбрать количество строк. Оттуда вы можете изменить их отступ, используя > или < (добавьте к этому префиксу число для отступа таким количеством вкладок), используйте d или y , чтобы удалить или скопировать эти строки, используйте zf , чтобы создать новую складку из этих линий, или используйте любую другую команду на основе выбора.

Наконец, есть много других интересных вещей, которые вы можете сделать с визуальным режимом, в том числе gv для повторного выбора вашего последнего выбора визуального режима [строка / блок], gU для преобразования визуальный выбор в верхнем регистре или гу для нижнего регистра и многое другое.

3
ответ дан 2 December 2019 в 19:54
поделиться

Я часто использую режим визуального блока ( Ctrl + v ) больше, чем любой другой визуальный режим.

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

Вы также можете добавить отступ (или комментарии, как сказал Чериан), выбрав блок текста и нажав I , набрав все, что вы хотите добавить, и нажав Esc (примечание: вам может потребоваться перерисовать экран (например, переместив курсор), чтобы увидеть последствия этого).

0
ответ дан 2 December 2019 в 19:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: