${1}
使用 snipmate,我可以使用、等创建制表位${2}
。但是,假设我有一个文件,其中包含我经常使用的几行文本。当我拉出这些并将它们放入我的活动文件时,该行的某些部分需要更改。有没有办法复制 snipmate 的制表位功能?如果没有办法突出显示需要更改的位置?
所以让我们说我有以下几行:
The results show: []
Item [] returned true.
我想用文本替换括号。我知道我可以搜索括号,然后通过它们,但我希望能找到更方便的东西。
我会赞同 Zach 的建议,即使用 Snipmate 本身来解决这个问题。
如果您希望将占位符替换为相同的文本,则搜索和替换是最方便的方法:
:'{,'}s/\[\]/foo/g
如果你想用不同的文本替换每个占位符,你可以复制 Snipmate 的行为:
:nnoremap <key> *``gn<C-g>
:inoremap <key> <Esc>gn<C-g>
<key>
会突出显示选择模式下的当前单词,准备输入。<key>
- 在这种情况下,当您完成该占位符时 - 跳转到下一个占位符并在选择模式下突出显示它,准备输入。您所描述的与片段用例非常相似;最好将这些文本片段定义为片段并使用 snipMate 插入它们;届时您将免费获得所有功能!
当然,您可以重新创建部分 snipMate,例如:
:nnoremap <silent> <F3> :call search('\[\]')<CR>
这样,您可以通过 跳转到下一个占位符F3,并且可以将当前占位符替换为 eg 2s
。