【问题标题】:how to do vi search and replace within a range in sublime text如何在崇高文本的范围内进行vi搜索和替换
【发布时间】:2013-04-21 07:32:24
【问题描述】:

我在 sublime 文本上启用了vintage 模式.. 但是缺少一些重要的 vim 命令.. 所以假设我想像这样进行搜索和替换

:10,25s/searchedText/toReplaceText/gc 

所以我想搜索searchedText 并将其替换为toReplaceText 从行1025 并且每次都得到提示(即是/否)..

如何使用 Sublime Text 做到这一点?每次我点击: 它都会给我这个有趣的菜单.. 有什么办法吗?

【问题讨论】:

    标签: regex search vim replace sublimetext2


    【解决方案1】:

    如果您非常想看到 vim 的实际应用,请尝试相反的方式;即在 vim 中启用 sublime 的东西。

    这里有 2 个链接可能会派上用场: subvimvim multiple cursors(这是 sublime 中一个惊人的特性,而原生 vim 缺乏)。

    希望能激发你的创造力;)

    【讨论】:

    • subvim 太棒了,强烈推荐。
    • @MattGreer subvim 是否为我提供了所有 vim 功能?
    • @moyen subvim 已经很久没有被支持/更新了。我建议只构建自己的 vim 设置。如果你做 JavaScript/TypeScript,那么 Oni 也是一个不错的选择:onivim.io
    【解决方案2】:

    不幸的是,老式模式不理解范围。我知道如何做到这一点的最好方法是使用增量搜索:

    1. 在第 10 行突出显示 searchedText 的第一次出现
    2. 点击 cmnd/ctrl D 让 Sublime 找到下一个事件
    3. 如果您希望忽略下一个匹配项,请点击 cmnd/ctrl K
    4. 突出显示所有匹配项后,您可以一次全部替换它们,因为 Sublime 会在您选择启用的每个匹配项上留下光标。

    【讨论】:

    • 连跳线也不行?即,如果我点击:,它又给了我那个奇怪的菜单。我可以跳到崇高文本上的行号的唯一方法是CTRL-G,对吗?
    • 您可以像 vi 一样使用 : 转到一行。该菜单确实接受一些与 vi 相同的命令,但并不多。
    • 这很奇怪.. 如果我点击: 我会得到那个菜单.. 但如果我输入的行号不是0$ (对于BOFEOF,分别)它什么都不做..但是如果我点击ctrl g,我会得到相同的菜单..它会带我到我想要的任何行..知道为什么会发生这种情况(以及我如何纠正它)?
    【解决方案3】:

    VintageEx 为您提供了一个类似 Vim 的命令行,您可以至少执行替换。好吧,这就是我尝试时走了多远。我不知道它实现的 Vim 命令子集的扩展程度如何,但我猜它没有原来的那么大,而且和 Vintage 一样,可能不同且令人不安,足以让相对有经验的 Vimmer 被拒之门外。

    无论如何,我刚刚又试了一次,确实你可以或多或少地做你正在寻找的那种替换,这立即让 ST 很多更有用:

    :3,5s/foo/bar/g
    :.,5s/bar/foo/g
    :,5/foo/bar/g
    :,+5/bar/foo/g
    

    很遗憾,它不支持/c 标志。

    【讨论】:

    • vintageEx也解决了我在cmetsbelow中提到的:问题
    【解决方案4】:

    名为vintageous 的插件提供了更多功能,包括搜索功能。它在package control 中可用

    【讨论】:

      【解决方案5】:

      虽然这个问题得到了回答..我认为这会增加一些价值

      安装ideavim 插件后,ruby mine IDE 就可以使用 vi 搜索/替换的全部功能。顺便说一下,这个想法非常适合 ruby​​ on rails。

      【讨论】:

        猜你喜欢
        • 2018-04-01
        • 2016-05-31
        • 2010-12-13
        • 1970-01-01
        • 2010-10-20
        • 2014-05-15
        • 2015-12-19
        • 2018-09-28
        • 2011-01-12
        相关资源
        最近更新 更多