3

私は、neosnippet および honza の vim-snippet と一緒に neocomplcache を使用しています。を押すCtrl-kと次のパラメーターに移動できることを除いて、それらは素晴らしいですが、前のパラメーターに戻る方法はありません。

たとえば、「for」スニペットを挿入して index 変数にタイプミスをした場合、すでに を押していたらCtrl-k、私は失敗していますか? すべてのパラメータを変更してから、再度置換操作を行う必要がありますか? または、この状況で私を助けることができる選択モードのマッピングはありますか? 現在TabS-Tab何もしていません。

最後に、すべてのスニペット プラグインはこのようなものですか? それとも、neocomplcache にこの機能が欠けているだけですか (少なくともそのままでは) ?

4

2 に答える 2

10

UltiSnipsを試すことをお勧めします。vim-snippetsまたはよりもはるかに強力で成熟していneosnippetます。たとえば、UltiSnips は Python をベースにしているため、非常に拡張性があります。あなたの問題に関して: はい、UltiSnips を使用して前後にジャンプできます。最後に、スクリーンキャスト (リンクにリストされています) をチェックして、それでできるすばらしいことをすべて確認してください。

たとえば、次の構成を使用します。

let g:UltiSnipsSnippetsDir        = '~/.vim/snippets/'
let g:UltiSnipsSnippetDirectories = ['UltiSnips', 'snippets']

let g:UltiSnipsExpandTrigger       = '<C-CR>'
let g:UltiSnipsJumpForwardTrigger  = '<A-d>'
let g:UltiSnipsJumpBackwardTrigger = '<A-a>'

注: ~/.vim/snippets/は、カスタム スニペットのディレクトリです。

既に述べたように、UltiSnips は Python を広く使用しているため、Vim を Python サポートでビルドする必要があります。Windows (特に x64) を使用している場合、これは問題になる可能性があります。かなり前に遭遇した問題です。貴重な時間を節約し、フラストレーションを避けるために、私のVim for Windows をダウンロードすることを検討してください。x86 と x64 の両方のアーキテクチャが提供され、Python 2 と Python 3 の両方を同時にサポートします。安定していると断言できます。適切にインストールするには、指示に従ってください。これらのビルドは頻繁に更新されます。

于 2013-04-12T22:51:50.630 に答える
2

元のSnipMateとそのフォーク( vim-snippetsが実際に意図されているプラ​​グイン) の両方を使用すると、前のプレースホルダーに戻ることができます<S-Tab>。UltiSnips もそうだと思います。

Neocomplcache は、そのままではスニペットの拡張をサポートしなくなりました。私の知る限り、マッピングを担当するneosnippetと呼ばれる同じ作者による別のプラグインが必要です<C-k>。ドキュメントをざっと見ると、「逆ジャンプ」マッピング、関数、またはコマンドが表示されません。おそらく、neosnippet の Github ページで新しい問題を作成できます。

于 2013-04-13T06:58:30.453 に答える