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