0

snipmate を使用する${1}と、${2}、 などを使用してタブ ストップを作成できます。しかし、私が頻繁に使用する数行のテキストを含むファイルがあるとします。これらをヤンクしてアクティブなファイルに入れると、行の特定の部分を変更する必要があります。snipmate のタブ ストップ機能を複製する方法はありますか? ない場合は、変更が必要な場所を強調表示する方法はありますか?

したがって、次の行があるとしましょう。

The results show: [] 
Item [] returned true.

括弧をテキストに置き換えたいと思います。ブラケットを検索して次に進むことができることはわかっていますが、もう少し便利なものを望んでいました。

4

2 に答える 2

1

私は、Snipmate 自体を使用してその問題に対処するという Zach の提案を支持します。

プレースホルダーを同じテキストに置き換えたい場合は、検索と置換が最も便利な方法です。

:'{,'}s/\[\]/foo/g

各プレースホルダーを別のテキストに置き換えたい場合は、Snipmate の動作を次のように複製できます。

:nnoremap <key> *``gn<C-g>
:inoremap <key> <Esc>gn<C-g>
  • 通常モードで を押すと<key>、選択モードで現在の単語が強調表示され、入力できるようになります。
  • 挿入モードで を押すと<key>(このコンテキストでは、そのプレースホルダーを使い終わったときに)、次のプレースホルダーにジャンプして選択モードで強調表示され、入力できるようになります。
于 2014-07-25T06:29:55.760 に答える
1

あなたが説明することは、スニペットのユースケースと非常に似ています。これらのテキスト フラグメントをスニペットとして定義し、snipMate を使用して挿入するのがおそらく最善でしょう。その場合、すべての機能を無料で入手できます。

もちろん、snipMate の一部を再作成することもできます。

:nnoremap <silent> <F3> :call search('\[\]')<CR>

これにより、 経由F3で次のプレースホルダーにジャンプしたり、現在のプレースホルダーを2s.

于 2014-07-25T06:30:57.003 に答える