Подтвердить что ты не робот

Как я могу выбрать несколько строк, которые не находятся в непрерывном фрагменте?

Я пытаюсь выбрать несколько строк, которые не находятся в непрерывном фрагменте. Например, я хочу выбирать строки 1 и 3 одновременно без выбора строки 2:

 1. this is line 1 
 2. this is line 2 
 3. this is line 3

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

Большое спасибо за вашу помощь.


Edit: Спасибо за ответы. Я расскажу немного подробнее о том, как я пришел к вопросу.

Я пытался выровнять код фрагмента следующим образом, используя Tabularize:

1. name1="Woof"
2. lucky_dog = lucky( "dog_one"= name1, 
3.                    "dog_two"= name1 )
4. name2="Howl"

Я хотел, чтобы он выравнивался так:

1. name1     = "Woof"
2. lucky_dog = lucky( "dog_one"= name1, 
3.                    "dog_two"= name1 )
4. name2     = "Howl"

Но я не могу этого сделать, потому что Tabularize будет учитывать третью строку и выровнять все:

1.name1                        = "Woof"
2.lucky_dog                    = lucky( "dog_one"= name1,
3.                   "dog_two" = name1 )
4.name2                        = "Howl"

Я считаю, что могу придумать какой-нибудь трюк регулярного выражения, чтобы заархивировать желаемые результаты, сначала мне пришло в голову, что, может быть, я могу просто выбрать строку 1,2,4 и сделать их выровненными.

Тогда я понял, что это непростая задача.

Следовательно, вопрос.

Спасибо за ответы!

4b9b3361

Ответ 1

Невозможно выбрать различные фрагменты текста в vim.

Вместо этого вы можете определить общий, уникальный шаблон, который разделяется линиями, над которыми вы хотите действовать, и использовать "глобальную" ex-command или "g", чтобы сделать это следующим образом:

:g/shared unique pattern/ex or normal command here

Например, чтобы скопировать строки в регистр, скажем, регистр 'a':

:g/shared unique pattern/normal "Ayy

Чтобы вставить их, нажмите "ap

Столица A, которая предшествует yy, указывает vim, что вы хотите скопировать и добавить строки в регистр.

Как и sydill, если вы можете сказать нам, что именно вы хотите делать с линиями, мы можем вам помочь.

Ответ 2

В настоящее время есть блестящий плагин, который позволяет использовать multi-select в Vim: Vim-multiple-cursors:

enter image description here

Ответ 3

Этот script, как представляется, обеспечивает функциональность, которую вы ищете.