在 vim 中创建类的签名

发布于 2024-11-06 06:44:43 字数 253 浏览 0 评论 0原文

我有一个充满以下文本的文件:

class Baz
{
  void Test()
  {

  }

  int Sum (int)
  {

  }
}

我想从该文本创建另一个缓冲区,如下所示:

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

我如何在 vim 中进行编辑。任何插件或键盘上的一些笔画

i have a file filled with this text:

class Baz
{
  void Test()
  {

  }

  int Sum (int)
  {

  }
}

and i want to create another buffer from that text like following:

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

how can i do that edit in vim. Any plugin or some strokes on keyboard

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

关于从前 2024-11-13 06:44:43

如果您的文件遵循您发布的确切模式,您可以使用 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

If your file follows the exact pattern you posted, you can solve this with 4 commands:

:%s/^class\s*/interface I
:%s/^\s\+{\_[^}]*}//
:g/^\s*$/d
:%s/)\zs$/;
  1. Change class to interface I
  2. Delete indented blocks
  3. Remove blank lines
  4. Add ; after ending )

If you need to use that in more than one file (though I recommend this even if you're going to use it once) copy and paste this text to a buffer then write it on a file, say /tmp/cs. Then, while focused on the buffer you want to change, run :so /tmp/cs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文