В Vim, как мне удалить все, но оставить то, что в двойных кавычках? - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть несколько строк простого текста, и каждая строка смешана с фразами с / без двойных кавычек.Я хочу удалить все, включая кавычки, но сохранить то, что в двойных кавычках.Пример:

this is some test = "key.properties";
properties = "value.properties";

Результат должен быть:

key.properties
value.properties

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

:%s/.*\"\(.*\)\".*/\1

Объяснение

REPLACE, ANY_STRING, QUOTES, CAPTURE_ANY_STRING,   QUOTES,  ANY_STRING WITH
  :%s/     .*        \"      \(     .*     \)       \"         .* .    /\1
0 голосов
/ 12 февраля 2019

Если ваш курсор находится в начале строки, вы можете сделать:

f"lyi"Vp

f"l переместить курсор в первую очередь, затем оставить еще один пробел

yi" yankвсе в пределах от "s до анонимного регистра"

Vp выберите всю строку в визуальном режиме и вставьте поверх нее анонимный регистр

Чтобы применить несколько строк, используйте команду normal.

:%normal 0f"lyi"Vp

: войти в командный режим

% установить диапазон как весь файл

normal выполнить следующие нажатия клавиш, как если бы они быливведено в обычном режиме

0 переместить курсор в начало строки

f"lyi"Vp см. выше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...