2016-11-07 3 views
1

Я текущая переключение (от атома) до vim, и одна из особенностей, которые я пропускаю сейчас, - это атом найти и заменить функции. В основном это позволяет мне выделить слово, постепенно выбирать совпадения строки (по умолчанию: ctrl-d, пропускать результаты: ctrl-k), а потом делать то, что я хочу, что часто заменяет части во всех вариантах, создавая новую строку под каждым выбор вставки материала и т. д.Vim: Interactive «Найти и заменить», как в атоме/возвышенном?

Вопрос: Есть ли аналогичная функция в vim? Я не ищу глобальную находку и замену, основанную на регулярных выражениях, я знаю, как это сделать в vim. Я специально ищу какую-то интерактивную версию.

спасибо заранее, Andi

EDIT

Этот плагин делает именно то, что я ищу (лучший термин поиска: несколько курсоров): https://github.com/terryma/vim-multiple-cursors

ответ

1

У меня нет опыта с атомом. Однако то, что вы описали, можно было сделать в vim.

Вам необходимо в вашей конфигурации, эти две строчки:

set incsearch "incremental searching 
set hlsearch "highlight match 

Тогда вы можете просто в буфере сделать

  • /whatever, вы увидите добавочную подсветку.
  • Когда вы закончите свой узор/слово, нажмите Enter, все соответствующие тексты будут выделены.
  • Теперь сделайте :%s//FOO/g все эти согласованные тексты будут заменены на FOO.

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

+0

Спасибо за помощь! Это не совсем то, что я хочу, так как мне не нужна глобальная замена. Я хочу следующее: Траверс интерактивно (с помощью сочетания клавиш) через все совпадения и выберите совпадение (ярлык). Затем позвольте мне сделать что-то либо с выделенными словами, либо с позициями, в которых находятся слова (например, добавить строку ниже всех выборов). –

+0

@ A.Neumann с vim, вы можете сделать то же самое на совпадениях (возможно с подтверждением), но вы не можете автоматически это сделать, этот матч я удаляю, этот матч я добавляю новую строку, это совпадение ... если вы хотите что вам нужно сделать вручную, нажав 'n' или' N', чтобы найти совпадение. – Kent

+0

все в порядке, я не хочу выполнять отдельные действия в отдельных матчах, в точности наоборот (одно действие для выбранных совпадений). Я думаю, что в условиях vim это будет 1. Найти совпадения, 2. Выбрать совпадения (Visual ), 3. Делать что-то со всеми совпадениями в одно и то же время. Я могу пройти через спички с n/N, но я не могу сделать выделение/визуальное с ними. В атоме cou может устанавливать _multiple cursors_, где выполняется каждое действие, которое вы делаете. –