【问题标题】:insert something in front of and in end of some word在某个单词的前面和结尾插入一些东西
【发布时间】:2017-01-02 17:58:59
【问题描述】:

我有很多很多源代码文件,并且必须做很多类似的工作

  1. 找到一些短语(完全随机,必须人眼完成)

    例如asdf在这一行printf("asdf")fdsa asdf asdf 在这一行"* fdsa asdf asdf |"

  2. 在短语前面插入${',在短语末尾插入'}

    所以printf("asdf") 变成了printf("${'asdf'}")

我目前正在使用vim进行编辑,有没有插件可以让我,例如,将光标移动到asdf并按ctrl+shift+i自动插入${''}

我也愿意切换到任何其他具有这种功能的编辑器。

【问题讨论】:

    标签: vim editor text-editor atom-editor


    【解决方案1】:

    除了使用内置命令的出色答案之外,还有一个用于此目的的“著名”插件:surround plugin。它带有许多常见东西的映射,并且是可定制的。

    要定义ysv环绕变量)映射,只需将以下内容放入您的~/.vimrc

    let g:surround_118 = "${\r}"
    

    118v 的代码点,请参见:help surround

    【讨论】:

    • 使用花括号名称可以使维护比记住代码点更容易。例如let g:surround_{char2nr('v')} = "$(\r)"。见:h curly-braces-names。您还可以在:h surround-customizing 中查看示例。
    【解决方案2】:

    :substitute 命令也是一个很好的解决方案:

    :%s/asdf/${&}/g
    

    如果您想在每次替换之前确认,请添加 c 标志 -> %s/asdf/${&}/gc

    【讨论】:

      【解决方案3】:

      您不需要插件。一个简单的映射就足够了:

      xnoremap <key> c${'<C-r>"'}<Esc>
      

      请参阅:h key-notation 以获取&lt;key&gt;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-09
        • 1970-01-01
        相关资源
        最近更新 更多