Vim выбирает концы нескольких строк (режим блока, но где меняется конечный столбец)
Есть ли какой-либо способ в vim, чтобы я мог выбрать конец всех этих строк? (Я показываю только конец строк на этих снимках экрана).
В блочном режиме я могу получить их все, если нижняя строка длиннее остальных, но если нижняя строка короче, более длинные строки усекаются.
ИЗМЕНИТЬ | Наверное, я могу просто вычеркнуть нижнюю строку пробелами перед тем, как выбрать, а затем удалить пробелы позже.
![enter image description here]()
![enter image description here]()
Ответы
Ответ 1
- Наведите курсор на верхний левый символ, который вы хотите быть частью блока.
- Войдите в режим выбора блока с помощью ctrl + v
- Выберите до конца строки $ (это тот шаг, который вам не хватает, если вы перейдете к концу первой строки с помощью $, то выбор будет расширяться к концу последующих строк)
- Сдвиньте 3 строки с помощью 3 j
Более подробную информацию в разделе документации Vim о визуальном режиме, который вы можете читать онлайн, или просто введите :help v_$
в Vim.
Ответ 2
В качестве альтернативы вы можете установить параметр virtualedit
(:h 'virtualedit'
), чтобы в любое время, когда вы находитесь в режиме визуальных блоков, вы можете перемещать курсор даже за концы строк. Например. :set virtualedit=block
.
Ответ 3
-
Нажмите где-нибудь (в любом месте) в первой строке, к которой вы хотите добавить текст.
-
Нажмите Control + V.
-
Нажмите Down, чтобы создать произвольный выбор вертикального блока, который охватывает нужные строки.
-
Нажмите $, чтобы развернуть выбор визуального блока до концов каждой выбранной строки.
-
Нажмите Shift + A добавить текст к каждой выбранной строке.
-
Введите текст, который вы хотите добавить.
-
Нажмите Escape, и текст будет добавлен по выбранным строкам.
Ответ 4
Если вы хотите выбрать самый последний символ каждой строки, например, если вы хотите добавить что-то после кавычек в конце каждой строки, вы можете сделать следующее:
- Наведите курсор на самый последний символ (в этом примере последняя цитата в первой строке)
- Введите режим блока: control + V
- Сдвиньте вниз, чтобы выбрать столько строк, сколько хотите.
- Вставить в конец строки: shift + A
- Введите то, что вы хотите добавить, а затем выйти из режима Visual.
- Теперь текст должен быть вставлен в конце каждой выбранной строки!
Надеюсь, что это полезно для других, таких как я, ища ответ, похожий, но не совсем такой же, как выше.