2016-07-15 4 views
0

Я пытаюсь найти и скопировать совпадения в ограниченном объеме в vim. as mentioned in this answer. Я пытаюсь скопировать результат в новый ВИМ вкладку с помощьюкак скопировать и вставить результат поиска vim на новую вкладку

:'<,'>g/foo/y A 

но когда открыта новая вкладка :tabnew и попробовать, чтобы вставить p ничего не показывается.
1. Итак, мой вопрос в том, можно ли перенаправить вывод gsearch на новую вкладку?
2. или как правильно скопировать вывод в регистр и вставить из реестра на новую вкладку?

+0

Я могу вставить вывод в новую вкладку. – SibiCoder

+2

Вы yanking для регистрации 'a', поэтому вы должны поместить из того же регистра:' 'ap'. – romainl

ответ

2

Раствор для варианта 1:

Перенаправление Найденный текст на новой вкладке

:tabnew | :normal! i^R/ 

Чтобы поставить ^R, вы должны нажать Ctrl и V, а затем R.

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

:tabnew | :normal! i^Ra 

Это вставит содержимое регистра a, в котором вы сохранили вывод команды глобального поиска.

Раствор для варианта 2: правильно скопировать и вставить через регистр

Ваша команда работает отлично! Он копирует результаты глобального поиска для регистрации a. Таким образом, вы можете непосредственно открыть другую вкладку, :tabnew, а затем нажмите "ap, чтобы вставить его, или перейти в режим вставки, нажав i, а затем нажмите Ctrl и R, а затем a. Там вставляется содержимое регистра a.

+1

Я думаю, что я упустил« Ap в новом кране, вместо этого я использовал только p. когда я копирую в регистр A, добавляет ли он к предыдущей копии или удаляет старые копии и сохраняет только новую копию? –

+0

Когда вы указываете заглавную букву, она добавляет содержимое в тот же регистр. Когда вы пытаетесь вставить p, он вставляет недавно удаленный/скопированный текст. Вы можете просмотреть содержимое регистров, введя ': registers' в режиме командной строки. Когда вы копируете что-то в регистр с помощью маленькой буквы, его старое содержимое стирается. – SibiCoder