在某个单词的前面和末尾插入一些东西

时间:2016-08-26 06:44:27

标签: vim editor text-editor atom-editor

我有很多源代码文件,并且必须做很多像这样的工作

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

    例如此行asdf中的printf("asdf") 此行中的fdsa asdf asdf

  2. "* fdsa asdf asdf |"
  3. 在短语前插入${',在短语末尾插入'}

    因此printf("asdf")变为printf("${'asdf'}")

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

    此外,我可以切换到具有此类功能的任何其他编辑器。

3 个答案:

答案 0 :(得分:4)

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

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

:h key-notation查看<key>

答案 1 :(得分:4)

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

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

如果您想在执行此操作前确认每次替换,请添加c标记 - &gt; %s/asdf/${&}/gc

答案 2 :(得分:2)

除了使用内置命令的优秀答案之外,还有一个用于此目的的“着名”插件:surround plugin。它提供了许多常见的映射,也可以自定义。

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

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

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