Nano Hash - криптовалюты, майнинг, программирование

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

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

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

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

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


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

Я пытался выровнять фрагмент кода следующим образом, используя 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 и выровнять их.

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

Отсюда вопрос.

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

03.09.2011

  • Нет (насколько я знаю). Но, если вы скажете, что именно вы хотите сделать с этим выбором, мы можем помочь найти другой способ сделать это… может быть. 04.09.2011
  • @sidyll Спасибо! Все началось, когда я пытался выровнять несколько строк с помощью плагина Tabularize. Я хотел пропустить несколько строк в куске кода, но выровнять остальные строки. Я мог бы сделать это с помощью регулярного выражения, но мне также пришло в голову, что если бы я мог просто одновременно выбирать эти строки, Tabularize мог бы просто выровнять те, которые я выбрал, пропуская остальные. Отсюда вопрос. 05.09.2011

Ответы:


1

В vim невозможно выбрать разные фрагменты текста.

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

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

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

:g/shared unique pattern/normal "Ayy

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

Заглавная буква А, которая стоит перед yy, говорит vim, что вы хотите скопировать и добавить строки в регистр a.

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

03.09.2011
  • В ПОРЯДКЕ. Кстати, это единственное решение, которое я тоже мог придумать. Мне интересно, есть ли другие решения... 04.09.2011

  • 2

    Теперь есть отличный подключаемый модуль, который включает множественный выбор в Vim: Vim-multiple-cursors:

    введите здесь описание изображения

    15.04.2013

    3

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

    03.09.2011
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..