Создание подписей класса в vim - PullRequest
0 голосов
/ 10 мая 2011

у меня есть файл, заполненный этим текстом:

class Baz
{
  void Test()
  {

  }

  int Sum (int)
  {

  }
}

, и я хочу создать еще один буфер из этого текста, как показано ниже:

interface IBaz
{
  void Test();
  int Sum (int);
}

как я могу это редактироватьВИМ.Любой плагин или несколько штрихов на клавиатуре

1 Ответ

0 голосов
/ 11 мая 2011

Если ваш файл соответствует точному шаблону, который вы разместили, вы можете решить это с помощью 4 команд:

:%s/^class\s*/interface I
:%s/^\s\+{\_[^}]*}//
:g/^\s*$/d
:%s/)\zs$/;
  1. Изменить class на interface I
  2. Удалить блоки с отступом
  3. Удалить пустые строки
  4. Добавить ; после окончания )

Если вам нужно использовать это в более чем одном файле (хотя я рекомендую это дажеесли вы собираетесь использовать его один раз) скопируйте и вставьте этот текст в буфер, а затем запишите его в файл, скажем /tmp/cs.Затем, сосредоточившись на буфере, который вы хотите изменить, запустите :so /tmp/cs.

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