LINUX.ORG.RU

vim, сделать yank целого логического блока

 


2

0

Привет!

Не справился с формулированием этой мысли в гугл.

Может, кто активно использует vim, знает, есть ли какой-то удобный способ это сделать?

Сейчас я обычно делаю :yN на глаз и убираю потом лишнее после вставки, но как-то это поднадоедает, особенно, когда функции на несколько экранов.

C, если что. Т. е.,

void smth(void)
{
//...
}
★★☆

Если от любого края блока сделать y%, оно промотает к парной скобке. Ну или % в визуальном режиме есть ещё

melkor217 ★★★★★ ()

Когда я копирую большие области текста, всегда сначала в визуальном режиме (v) и строчно-визуальном (V) или блочно-визуальном (Ctrl+v) выделяю нужное - для этого подойдут как обычные (hjkl), так и прыжок на слово (/word) или парную скобку (%) - а потом уже копирую (y)

Crocodoom ★★★★★ ()
Ответ на: комментарий от Crocodoom

Копировать произвольные области текста чисто в командном режиме - хардкор 🙂

Хотя сейчас подумалось, что если поставить какой-нибудь плагин на относительные номера строк, то тем же (Nyy) можно будет пользоваться fail-safe

Crocodoom ★★★★★ ()
Ответ на: комментарий от Crocodoom

что если поставить какой-нибудь плагин на относительные номера строк, то тем же (Nyy) можно будет пользоваться fail-safe

Что-то вроде set rnu?

habamax ★★★ ()
Ответ на: комментарий от Crocodoom

У меня set mouse-=a, потому что с ним по ssh как-то вообще тяжко с копированием текста из терминала макоси, например, когда хочешь скопировать имя функции, чтобы уже потом ручками в дереве grep/ack сделать (не вникал в причины, просто выпилил как явление).

(обычно пишу/компилирую код удаленно по ssh в vim на слаке, работая на макоси).

GFORGX ★★☆ ()
Последнее исправление: GFORGX (всего исправлений: 3)
Ответ на: комментарий от Turbid

Тоже работает, спасибо! Как я понимаю, разница в неиспользовании visual?

Удивило, кстати, что у меня команда с visual работает несмотря на mouse-=a.

GFORGX ★★☆ ()
Ответ на: комментарий от GFORGX

Вот да, пересеклись раз в сто лет, рад видеть тебя :)

melkor217 ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.